MyBatis 的 4 個妙用,別再踩坑了!

Java技術(shù)棧
www.javastack.cn
關(guān)注閱讀更多優(yōu)質(zhì)文章
作者:悠悠
來源:http://uusama.com/356.html
Mybatis 是 Java 中一個非常好用的數(shù)據(jù)庫框架,這兒記錄一下在使用過程中遇到的坑。
官方中文文檔地址:
http://www.mybatis.org/mybatis-3/zh/getting-started.html
1、在Mybatis mapping.xml映射配置文件中使用大于>號小于號<
由于Mybatis的映射文件遵循xml文件的格式,所以不能使用像大于號或者小于號這樣的xml文件特殊字符,需要使用轉(zhuǎn)義字符代替。
| < | < | 小于號 |
|---|---|---|
| > | > | 大于號 |
| & | & | 和 |
| ' | ’ | 單引號 |
| " | “ | 雙引號 |
可以使用:
SELECT?*?FROM?test?
WHERE?1?=?1?AND?start_date??<=?CURRENT_DATE?AND?end_date?>=?CURRENT_DATE
'12:00'?and?max(endtime)<='12:00'?]]>
2、Mybatis中使用OGNL表達式test比較字符串
在Mybatis映射配置文件中,使用OGNL表達式test的時候,比較字符串時,需要調(diào)用 toString()方法保證 == 兩邊的值都是 String 類型。
<if?test="username?==?'U'">
<if?test="username?==?'U'.toString()">
<if?test='username?==?"U"'>
3、Mybatis實現(xiàn)WHERE IN查詢
WHERE IN查詢中,IN的參數(shù)是一個列表,需要傳送一個列表參數(shù),使用 foreach 實現(xiàn)。
當(dāng)使用可迭代對象或者數(shù)組時,index是當(dāng)前迭代的次數(shù),item的值是本次迭代獲取的元素。當(dāng)使用字典(或者Map.Entry對象的集合)時,index是鍵,item是值。
你可以將任何可迭代對象(如列表、集合等)和任何的字典或者數(shù)組對象傳遞給foreach作為集合參數(shù)。
4、Mybatis插入數(shù)據(jù)的時候返回插入記錄的主鍵id
在進行輸入庫插入的時候,如果我們需要使用已經(jīng)插入的記錄的主鍵,則需要返回剛才插入的數(shù)據(jù)的主鍵id。
通過設(shè)置 insert 標(biāo)簽的 useGeneratedKeys 屬性為 true 可以返回插入的記錄的主鍵的id。
"User"?useGeneratedKeys="true"?keyProperty="id">?






關(guān)注Java技術(shù)棧看更多干貨


