Mybatis配置映射文件中parameterType的用法講解
Mybatis配置映射文件parameterType用法
在mybatis映射接口的配置中,有select,insert,update,delete等元素都提到了parameterType的用法,parameterType為輸入?yún)?shù),在配置的時候,配置相應(yīng)的輸入?yún)?shù)類型即可。parameterType有基本數(shù)據(jù)類型和復(fù)雜的數(shù)據(jù)類型配置。
1.基本數(shù)據(jù)類型
如輸入?yún)?shù)只有一個,其數(shù)據(jù)類型可以是基本的數(shù)據(jù)類型,也可以是自己定的類類型。包括int,String,Integer,Date,如下:
(1)根據(jù)id進(jìn)行相應(yīng)的刪除:<delete id="deleteById" parameterType="Integer">
(2)添加員工:<insert id="addEmp" parameterType="com.pojo.Employee">
2.復(fù)雜數(shù)據(jù)類型:包含java實體類,map
配置如:
<select id="selectTeacher" parameterType="Map" resultType="com.myapp.domain.Teacher">
select * from Teacher where c_id=#{id} and sex=#{sex}
</select>
java代碼如下:
Map<String,String> map=new HasMap<String,String>();
map.put("id","2");
map.put("sex","男");
List<Teacher> tList = teacherMapper.selectTeacher(map);
for (Teacher entityTemp : tList) {
System.out.println(entityTemp.toString()); }
另外MyBatis還提供了一個使用注解來參入多個參數(shù)的方式。這種方式需要在接口的參數(shù)上添加@Param注解
/**
* 此處要注意的是,由于該方法需要傳入多個參數(shù),在進(jìn)行Mybatis配置時,
* 沒有辦法同時配置多個參數(shù),另外MyBatis還提供了一個使用注解來參入
* 多個參數(shù)的方式。這種方式需要在接口的參數(shù)上添加@Param注解。。
* 注意,以下兩種寫法是完全相同的。但使用的時候要使用第一種類型
*/
User login(@Param(value="name")String name,@Param(value="password")String password );
// User login(String name,String password);
配置如下:
<select id="login" resultType="com.pojo.User">
select * from us where name=#{name} and password=#{password}
</select>
Mybatis parameterType # $符號的注意事項
1.如果傳入的參數(shù)類型大于1種,且參數(shù)個數(shù)大于等于2,不要寫parameterType不然會報錯
2.解析傳入?yún)?shù)有2種 #{} 與${} ,"#": 會把你傳入的參數(shù)當(dāng)成字符串解析 也就是你無論傳入什么 都會被加上''號 "$" : 你傳入什么 就是什么
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
java 設(shè)計模式之State(狀態(tài)模式)
這篇文章主要介紹了java 設(shè)計模式之State(狀態(tài)模式)的相關(guān)資料,一個類的行為基于它的狀態(tài)的改變而改變。狀態(tài)模式歸屬于行為型模式,需要的朋友可以參考下2017-08-08
java并發(fā)編程專題(七)----(JUC)ReadWriteLock的用法
這篇文章主要介紹了java ReadWriteLock的用法,文中講解非常詳細(xì),示例代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07
如何對Mysql數(shù)據(jù)表查詢出來的結(jié)果進(jìn)行排序
這篇文章主要介紹了如何對Mysql數(shù)據(jù)表查詢出來的結(jié)果進(jìn)行排序問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08
淺談SpringBoot之開啟數(shù)據(jù)庫遷移的FlyWay使用
這篇文章主要介紹了淺談SpringBoot之開啟數(shù)據(jù)庫遷移的FlyWay使用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-01-01
Java調(diào)用基于Ollama本地大模型的實現(xiàn)
本文主要介紹了Java調(diào)用基于Ollama本地大模型的實現(xiàn),實現(xiàn)文本生成、問答、文本分類等功能,開發(fā)者可以輕松配置和調(diào)用模型,具有一定的參考價值,感興趣的可以了解一下2025-03-03
ArrayList?foreach循環(huán)增添刪除導(dǎo)致ConcurrentModificationException解決分
這篇文章主要為大家介紹了ArrayList?foreach循環(huán)增添刪除導(dǎo)致ConcurrentModificationException解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪<BR>2023-12-12

