开源软件名称:ccmapper
开源软件地址:https://gitee.com/hxr521521/ccmapper
开源软件介绍:
ccmapper- 用来自定义通用mapper的工具集(可以自己定义通用mapper的sql方法) 注: 参考了 mapper插件的API。。。 。。
- 原理 动态生成泛型子接口,并注入到spring中
- 核心只有2个类。。。MapperDynamicUtils和泛型辅助类GenericUtils
- 核心方法 (方法返回自动生成接口的beanname)
String MapperDynamicUtils.registerCommonMapper(beannamePrefix, beanClazz, registry, commonMapperClazz<T>, SqlProviderClass<? extend AbstractSqlProvider>, String sqlSessionFactoryBeanName); 自定义commonMappercore 核心包3个custom包 扩展查询包 custom bean属性和字段一致 bean名就是表明customanno javax.persistence 注解映射
限制- 返回值类型目前只支持T 和Map, 注意泛型只能指定为T
测试看test包##目前集成 扫描指定包bean 工具persistence注解工具类增删改查样例动态查询
后续持续改进##使用举例 @Autowiredprivate CustomAnnoMapper<UserAndOrg> userAndOrgCustomAnnoMapper;@Autowiredprivate CustomAnnoMapper<OrgAnno> orgAnnoCustomAnnoMapper; 说明内部会自动生成CustomAnnoMapper 2个接口,一个是UserAndOrg的泛型接口,一个是OrgAnno的泛型接口, 这样依赖spring的泛型注入就可以使用了CustomAnnoMapper的方法可以任意定制返回值只能是 泛型 T,ListvoidMap<String, Object>List<Map<String, Object>>
具体讲解原理 具体讲解应用demo |
请发表评论