MyBatis----mapper的輸入映射和輸出映射
mapper.xml檔案是我們使mybatis時配置操作資料庫陳述句的方,每個陳述句對應一個方法,具有輸入引數和輸出引數,各個引數有不同的型別,下面所說的就是何配置不同型別的引數
輸入映射
-
簡單型別
即java類別庫中原本所擁有的資料型別,如Integar,Long,String等,
配置方法,直接將型別添加到sql陳述句的parameterType屬性中,代碼如下
<select id="findUserById" parameterType="int" resultType="cn.itcast.pojo.User"> SELECT * FROM user where id=#{id} </select> -
pojo物件型別
輸入的引數為一個pojo物件,可在sql陳述句中使用的引數為該物件的屬性, #{ } 或者 ${ } 括號中的值為pojo屬性名稱,
使用前,需要在mapper-config.xml中的<typeAliases>標簽下先宣告該pojo物件,如<typeAlias alias="PageParam" type="com.param.PageParam"/>當需要對屬性值進行計算時,只要在其中一個括號內寫出計算程序,如下面代碼中倒數第2行,
<select id="getStockPage" parameterType="stockParam" resultMap="BaseStockResultMap"> SELECT BOOK.*,num FROM BOOK,stock where book.book_id=stock.book_id and classification_id like #{classification_id} and book.name like '%${keyword}%' ORDER BY num ${sort_method} LIMIT ${(currentPage-1)*pageSize},${pageSize} </select>使用這種型別的輸入映射可以方便需要使用多個引數來呼叫sql陳述句的情況,只需要將引數封裝起來成為一個類并將該類物件作為輸入映射即可實作,
-
pojo包裝物件型別
常用在需要使用多綜合條件查詢時,例如查詢書籍詳情時,基本資訊條件是一種條件,可以根據書籍的基本資訊查詢,書籍交易/借閱記錄同時也可以作為附加條件,根據借閱記錄來篩選書籍,
包裝物件 :需要在一個pojo物件中將另一個pojo物件作為屬性值,
參考 : 同上面pojo物件參考相同,在mapper-config.xml進行宣告,
示例代碼
<select id="MYPOJO" parameterType="Pojo"> SELECT * FROM `user` WHERE username LIKE "%"#{user.username}"%" </select>在末尾
#{user.username}中,user表示輸入映射Pojo物件中宣告好的一個User類物件成員的變數名,username為User類物件的一個屬性名,
輸出映射resultMap
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/195368.html
標籤:其他
上一篇:大型資料庫-第一章測驗
