支持JDK1.7 已經(jīng)更新
<dependency>
<groupId>com.github.hioo520</groupId>
<artifactId>collections-plus</artifactId>
<version>1.4.7</version>
</dependency>
每當(dāng)我們辛苦的解決好表與表之間的耦合時(就是解決好表與表之間的字段冗余) ,然后就會發(fā)現(xiàn)比較棘手的問題是聯(lián)表查詢困難至極(主要是定義關(guān)聯(lián)類或者定義xml定義查詢SQL)棒仍,發(fā)現(xiàn)聯(lián)表查詢時出現(xiàn)特別特別惡心的事,我們不得不小心翼翼改寫xml文件,小心翼翼修改查詢內(nèi)容.這個還沒完,突然需求改了 , 實(shí)體類又改了, wot,我又得改寫xml文件主之,啊天理不容,改vo類,還有無休止的測試!!!!!啊,我是個浪人,我不想這般所以>>>>.....>>>>>
1.工具說明
應(yīng)用背景:
1.Mybatis對連表(多表查詢)查詢映射實(shí)體對象的不足(或許有 配置還的需要學(xué)習(xí) 算了 還不如寫vo類)
2.每次對修改復(fù)雜聯(lián)表查詢需求(已經(jīng)有的業(yè)務(wù)急待重構(gòu)缺束手無策)痛不欲生(糾結(jié)于添加冗余字段還是寫vo類)
3.考慮業(yè)務(wù)的棘手,缺又苦無無法加快進(jìn)度,還要無數(shù)次的忍受測試痛苦(一旦修改實(shí)體類VO類也要跟著修改業(yè)務(wù)邏輯也得從新思考關(guān)!我感覺身體被掏空,油墨有)
技術(shù):注解+(設(shè)計(jì)模式)(單例-內(nèi)部類懶加載,責(zé)任鏈,工廠模式)
優(yōu)點(diǎn):
1.非侵入式工具(可以很容易添加到你的SpringBoot項(xiàng)目 maven依賴)
2.易學(xué)習(xí) 易用
3.不需要寫VO類
4.直接填充到對應(yīng)對象List<E> 當(dāng)然也可以填充到對應(yīng)的對象
5.支持自定義規(guī)則(比如 時間格式 空值處理策略 ..)
6.解決多實(shí)體類名的相同字段 eg.都包含id (就是多表多列名存在重復(fù)的情況)
2.使用
1.直接擼代碼(具體的方法)
* tips sql+ 增強(qiáng)工具(帶緩存) 自動填充對象
*<p>這個方法只是梳理查詢出來的結(jié)果轉(zhuǎn)化為對應(yīng)pojo 名
* @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) ;
/**
* tips sql+ 增強(qiáng)工具(帶緩存) 自動填充對象
*<p>這個方法只是梳理查詢出來的結(jié)果轉(zhuǎn)化為對應(yīng)pojo 名 可以返回對象
* @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);
/**
* tips sql+ 增強(qiáng)工具(帶緩存) 自動填充對象
*<p> config 配置自定義信息
* @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) ;
/**
* tips sql+ 增強(qiáng)工具(帶緩存) 獲取自定義sql
*<p> 用于獲取自定義sql
* @notice: 返回值 "List<Map>" "Map<String,List<E>" "list<E>"
* @author: hihuzi 2019/2/14 9:08
*/
public abstract <E> Object getSQL(SQLBean config) ;
2.加入你的項(xiàng)目
A.第一步
沒啥好講的直接復(fù)制包到你的項(xiàng)目的工具文件下
C.第二步
D.第三步 直接看前臺
(對于這里出現(xiàn)的多余數(shù)據(jù) 在1.4.2以上版本中已經(jīng)解決 不存在會出現(xiàn)多余返回?cái)?shù)據(jù)的情況)
E.第四部 等待你的思路(方法解釋以及拓展)
算了還是貼上(沒空看源碼的人啦)-->測試類
F.好吧 !!!還是給出源碼地址吧 歡迎搞事
https://github.com/hioo520/collections-plug.git
https://gitee.com/hihuzi-top/collections-plug.git
<dependency>
<groupId>com.github.hioo520</groupId>
<artifactId>collections-plus</artifactId>
<version>1.4.7</version>
</dependency>
莫忘了點(diǎn)贊
好東西 想著就發(fā)出來了0柿琛5撂堋时甚!歡迎來事!9狻荒适!
一直會更新 的!开镣!