框架:Mybatis开发规范及输入输出映射配置时注意事件
程序員需要編寫mapper.xml映射文件
程序員編寫mapper接口需要遵循一些開發(fā)規(guī)范,mybatis可以自動生成mapper接口實現(xiàn)類代理對象。
1.開發(fā)規(guī)范:
1、在mapper.xml中namespace等于mapper接口地址
2、mapper.java接口中的方法名和mapper.xml中statement的id一致?
3、mapper.java接口中的方法輸入?yún)?shù)類型和mapper.xml中statement的parameterType指定的類型一致。?
4、mapper.java接口中的方法返回值類型和mapper.xml中statement的resultType指定的類型一致。 ?
2.配置SqlMapConfig.xml
mybatis的全局配置文件SqlMapConfig.xml,配置內容如下:?
properties(屬性)
settings(全局配置參數(shù))
typeAliases(類型別名)
typeHandlers(類型處理器)
objectFactory(對象工廠)
plugins(插件)
environments(環(huán)境集合屬性對象)
environment(環(huán)境子屬性對象)
transactionManager(事務管理)
dataSource(數(shù)據(jù)源)
mappers(映射器)
批量加載mapper(推薦使用)(一個mapper.xml對應于一個DAO的接口。namespace指定)
3.輸入映射
通過parameterType指定輸入?yún)?shù)的類型,類型可以是簡單類型、hashmap、pojo的包裝類型
?
POJO
POJO是Plain OrdinaryJava Object的縮寫
可以當作簡單的Java對象
實際就是普通JavaBeans
?POJO類中有屬性和get、set方法,但是沒有業(yè)務邏輯。說白了就是實體類嘛
3.1傳遞pojo的包裝對象
3.1.1需求
完成用戶信息的綜合查詢,需要傳入查詢條件很復雜(可能包括用戶信息、其它信息,比如商品、訂單的)
1)??定義包裝類型pojo
針對上邊需求,建議使用自定義的包裝類型的pojo。
在包裝類型的pojo中將復雜的查詢條件包裝進去。
2)??mapper.xml
在UserMapper.xml中定義用戶信息綜合查詢(查詢條件復雜,通過高級查詢進行復雜關聯(lián)查詢)。
1)??mapper.java
4.輸出映射
resultType
使用resultType進行輸出映射,只有查詢出來的列名和pojo中的屬性名一致,該列才可以映射成功。
如果查詢出來的列名和pojo中的屬性名全部不一致,沒有創(chuàng)建pojo對象。
只要查詢出來的列名和pojo中的屬性有一個一致,就會創(chuàng)建pojo對象。
?
輸出簡單類型
1)??需求
用戶信息的綜合查詢列表總數(shù),通過查詢總數(shù)和上邊用戶綜合查詢列表才可以實現(xiàn)分頁。
2)??mapper.xml
3)??mapper.java
4)??小結
查詢出來的結果集只有一行且一列,可以使用簡單類型進行輸出映射。
5.resultMap使用方法
如果查詢出來的列名和pojo的屬性名不一致,通過定義一個resultMap對列名和pojo屬性名之間作一個映射關系。
?
1、定義resultMap
2、使用resultMap作為statement的輸出映射類型
?
將下邊的sql使用User完成映射
SELECT id_ , username_ FROM USER WHERE id=#{value}
User類中屬性名和上邊查詢列名不一致。
表中id_對應pojo中id,表中username_對應于pojo中的username
定義reusltMap
mapper.java
小結
使用resultType進行輸出映射,只有查詢出來的列名和pojo中的屬性名至少有一個一致,該列才可以映射成功。
如果查詢出來的列名和pojo的屬性名不一致,通過定義一個resultMap對列名和pojo屬性名之間作一個映射關系。
?
總結
以上是生活随笔為你收集整理的框架:Mybatis开发规范及输入输出映射配置时注意事件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 结构型模式:桥接模式
- 下一篇: 框架:mybatis常用标签(refid