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

