MyBaits基本操作,為什麽session.commit()可以引起事物提交?ResultMap結果映射,執行添加後返回自增列的值,多條件查詢,智能標簽,工具類
阿新 • • 發佈:2018-02-24
info log list image mit fault 類型 工具類 自增列
1.為什麽session.commit()可以引起事務的提交?
首先打開commit()源碼,ctrl+H打開它的實現類DefaultSession,找到它的commit方法
ctrl+左鍵executor,進入它的接口並打開它的實現類BaseExecutor
在最底層的commit()方法裏邊進行了事務的提交,所以SqlSession.commit()方法可以引起事務的提交
2.ResultMap結果映射
為什麽需要ResultMap?
因為DB中的Table的列名和Java對象中的屬性名不一致時需要手工映射
ResultMap實現代碼
註:select標簽中的resultMap和resultType不允許同時出現
3.執行添加後返回自增列的值
首先在insert節點中添加一個selectKey節點配置如下
屬性keyProperty的值要和實體類中的id屬性一致
4.多條件查詢
多條件查詢可以使用Map集合查詢,也可以使用索引號查詢
實體類實現代碼
5.智能標簽
智能標簽分為:where ,if ,choose,foreach
where if類似於多重if判斷
choose類似於switch結構
foreachArray類型
foreach<自定義>
foreachList類型
MyBaits基本操作,為什麽session.commit()可以引起事物提交?ResultMap結果映射,執行添加後返回自增列的值,多條件查詢,智能標簽,工具類