spring data mybatis mini
等同于spring data jdbc + mybatis 動態(tài)sql能力
1. 拋棄繁瑣的xml 只使用mybatis模版引擎即動態(tài)sql能力 sql寫在markdown文件里 更容易書寫和閱讀 sql能統(tǒng)一管理查看 2. 底層基于springJdbc 而不是mybatis 更直接純粹 3. 提供單表增刪改(沒有刪除) 批量更新插入等基礎(chǔ)方法 支持分頁 讀寫分離 4. mybatis最大優(yōu)點就是sql模版引擎 我也有且僅有使用這部分功能(對于使用過mybatis的無學(xué)習(xí)成本) 但底層使用springJDBC 更簡單直接 5. 簡化mybatis動態(tài)sql寫法(可混用-寫法還是mybatis那套) 比如
{@and id in idList} 等于
<if test="null!=idList and idList.size>0"> and id in <foreach
collection="idList" index="index" item="item" open="(" separator=","
close=")">#{item}</foreach></if>
== why not spring data jdbc,jpa,hibernate,mybaits,mybatis-plus等
1. 基于spring data jdbc理念但擴(kuò)展使用mybatis動態(tài)sql能力 對于復(fù)雜點查詢支持更好 2. 相比jpa 底層使用hibernate(當(dāng)然也能sql) 只有sql 基于spring jdbc 無jpa根據(jù)方法名(復(fù)雜點需要你學(xué)習(xí)思考,名字老長,不透明) 簡單沒有黑魔法 學(xué)習(xí)成本低 sql寫在markdown里,純jdbc更易于調(diào)優(yōu) 3. 比價mybatis 沒有cache,復(fù)雜join映射實體,無resultType,resultMap配置 擴(kuò)展單表CRUD 只用他的動態(tài)sql能力的模版引擎和sql放到文件管理思想 去繁就簡 取其優(yōu)點拋棄雞肋功能 4. 相比mybatis-plus等擴(kuò)展mybatis框架 他們做的越來越像hibernate,jpa 搞Criteria那套 基本脫離mybatis優(yōu)點 5. 查詢只提供一個選擇 就是sql寫在markdown文件里 不會提供類似hibernate Criteria 多種選擇說是靈活但項目多種有多種實現(xiàn)寫法 你會有打人的沖動 6. 緩存可以用SpringCache等上層方案 7. 查詢只能映射單一實體(VO,DO,DTO均可) 但現(xiàn)在推薦減少JOIN 推薦代碼里join 后期會嘗試寫新的組件sqlHelper方式簡化
具體使用請查看gitee或github 使用簡單
評論
圖片
表情
