MyBatis 參數(shù)類型為String時常見問題及解決方法
1. 參數(shù)為String時的插值問題
假設有下面一Dao接口方法
public Account findByAccountType (String type)throws DaoException;
對應的Mapper.xml
<select id="findByAccountType " parameterType="string" resultType="account">
select *
form account
<where>
<if test ="type != null">
type=#{type}
</if>
</where>
</select>
一般我們都是按這樣的方式來寫的,對于其他類型是沒錯的,但是如果為String的話會拋下面的異常:
There is no getter for property named 'type ' in 'class java.lang.String'
因為MyBatis要求如果參數(shù)為String的話,不管接口方法的形參是什么,在Mapper.xml中引用時需要改變?yōu)開parameter才能識別 :
<select id="findByAccountType " parameterType="string" resultType="account">
select *
form account
<where>
<if test ="_parameter!= null">
type=#{_parameter}
</if>
</where>
</select>
2. 對字符串參數(shù)進行是否相等 比較時的問題
錯誤:
<if test="_parameter == '1' ">
type=#{_parameter}
</if>
正確:
<if test='_parameter == "1" '>
type=#{_parameter}
</if>
<if test="_parameter == '1'.toString() ">
type=#{_parameter}
</if>
注:上述問題不僅限于<if>標簽,其他動態(tài)sql標簽在對String進行處理時也會出現(xiàn)同樣的問題。
以上所述是小編給大家介紹的MyBatis 參數(shù)類型為String時常見問題及解決方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
Spring中@Value讀取properties作為map或list的操作
這篇文章主要介紹了Spring中@Value讀取properties作為map或list的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07
SpringBoot2零基礎到精通之JUnit 5與指標監(jiān)控
SpringBoot是一種整合Spring技術(shù)棧的方式(或者說是框架),同時也是簡化Spring的一種快速開發(fā)的腳手架,本篇讓我們一起學習JUnit 5與指標監(jiān)控2022-03-03
Java中實現(xiàn)高清圖片壓縮的兩種方案(最新推薦)
文章首先介紹了Java中進行高清圖片壓縮的基本方法,包括使用Java標準庫ImageIO和第三方庫ApacheCommonsCompress,通過示例代碼展示了如何調(diào)整圖像質(zhì)量和使用第三方工具來壓縮圖片文件,感興趣的朋友跟隨小編一起看看吧2025-01-01
Java實現(xiàn)List反轉(zhuǎn)的方法總結(jié)
在Java中,反轉(zhuǎn)一個List意味著將其元素的順序顛倒,使得第一個元素變成最后一個,最后一個元素變成第一個,依此類推,這一操作在處理數(shù)據(jù)集合時非常有用,所以本文給大家總結(jié)了Java實現(xiàn)List反轉(zhuǎn)的方法,需要的朋友可以參考下2024-04-04
Java8中用foreach循環(huán)獲取對象的index下標詳解
這篇文章主要給大家介紹了關(guān)于Java8中用foreach循環(huán)獲取對象的index下標的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-04-04

