每当我们辛苦的解决好表与表直接的耦合是 ,却发现接下来的的连表查询特别恶性(重名的列名,重名的属性名)我们不得不小心翼翼写xml,小心翼翼修改查询内容.这个还没完,突然需求改了 , 实体类又改了, wot,我又得改xml,改vo类,还有无休止的测试!!!!!啊,我是个浪人,我不想这般所以>>>>.....>>>>>
1.工具说明
应用背景:
1.Mybatis对连表(多表查询)查询映射实体对象的不足(压根没有这些方法)
2.修改实体后VO类还得修改
3.填写完复杂的多表查询条件,还有痛苦的测试(一旦修改实体类VO类也要跟着修改如果关联的多 我感觉身体被掏空,油墨有)
技术:注解+(设计模式)(单例-内部类懒加载,责任链,工厂模式)
优点:
1.非侵入式插件(可以很容易添加到你的SpringBoot项目)
2.易学习 易用
3.不需要写VO类
4.直接填充到对应对象List<E>
5.支持自定义规则
6.多列重名的情况
2.使用
1.直接撸代码(具体的方法)
/**
* tips sql+ 增强工具(带缓存) 自动填充对象
*
* @notice: 返回值 "List<Map>" "Map<String,List<E>" "list<E>"
* @author: hihuzi 2019/2/14 9:08
*/
public abstract <E> Object listToEntity(List<Map> list, SQLConfig config) throws Exception;
/**
* tips sql+ 增强工具(带缓存) 自动填充对象
*
* @notice: 返回值 "List<Map>" "Map<String,List<E>" "list<E>"
* @author: hihuzi 2019/2/14 9:08
*/
public abstract <E> Object listToEntity(List<Map> list, E... e) throws Exception;
/**
* tips sql+ 增强工具(带缓存) 自动填充对象
*
* @notice: 返回值 "List<Map>" "Map<String,List<E>" "list<E>"
* @author: hihuzi 2019/2/14 9:08
*/
public abstract <E> Object listToEntity(List<Map> list, SQLConfig config, E... e) throws Exception;
/**
* tips sql+ 增强工具(带缓存) 自动填充对象
*
* @notice: 返回值 "List<Map>" "Map<String,List<E>" "list<E>"
* @author: hihuzi 2019/2/14 9:08
*/
public abstract <E> Object getSQL(SQLBean config) throws Exception;
2.加入你的项目
A.第一步 83662e09e7d50cb726150f686b18326.png
没啥好讲的直接复制包到你的项目的工具文件下1.非侵入式插件(可以很容易添加到你的SpringBoot项目)
83662e09e7d50cb726150f686b18326.png
>>2.易学习 易用
>>3.不需要写VO类
>>4.直接填充到对应对象List<E>
>>5.支持自定义规则
>>6.多列重名的情况
##2.使用
>1.直接撸代码(具体的方法)
/** * tips sql+ 增强工具(带缓存) 自动填充对象 * * @notice: 返回值 "List<Map>" "Map<String,List<E>" "list<E>" * @author: hihuzi 2019/2/14 9:08 */ public abstract <E> Object listToEntity(List<Map> list, SQLConfig config) throws Exception; /** * tips sql+ 增强工具(带缓存) 自动填充对象 * * @notice: 返回值 "List<Map>" "Map<String,List<E>" "list<E>" * @author: hihuzi 2019/2/14 9:08 */ public abstract <E> Object listToEntity(List<Map> list, E... e) throws Exception; /** * tips sql+ 增强工具(带缓存) 自动填充对象 * * @notice: 返回值 "List<Map>" "Map<String,List<E>" "list<E>" * @author: hihuzi 2019/2/14 9:08 */ public abstract <E> Object listToEntity(List<Map> list, SQLConfig config, E... e) throws Exception; /** * tips sql+ 增强工具(带缓存) 自动填充对象 * * @notice: 返回值 "List<Map>" "Map<String,List<E>" "list<E>" * @author: hihuzi 2019/2/14 9:08 */ public abstract <E> Object getSQL(SQLBean config) throws Exception;
>>2.加入你的项目
A.第一步
没啥好讲的直接复制包到你的项目的工具文件下
B.还是第一步(高手可以生成jar包直接引用) efb744bd4e71dd45ba6debe88a38234.png
C.第二步 4a012eee5d7e1ae14c0938039c022d3.png
D.第三步 直接看SQL
1b4cc78ccb1a12cf012d8f43fdb127e.png
E.第四部 等待发出SQL等结果
重复的名称会用 类名.属性名
list.parallelStream().forEach(map -> {
map.put("uId", map.get("User.id"));
map.put("aId", map.get("Agent.id"));
map.put("cid", map.get("Car.id"));
});
F.第五步 吧这个list给前台吧
G.好吧 !!!还是给出源码地址吧 欢迎搞事
https://gitee.com/hihuzi-top/collection_tool.git
https://github.com/hioo520/collectionTool.git
https://gitee.com/hihuzi-top/collection_tool.git
莫忘了点赞
累了!
网友评论