MyBatis傳入?yún)?shù)的實(shí)例代碼
在MyBatis的select、insert、update、delete這些元素中都提到了parameterType這個(gè)屬性。MyBatis現(xiàn)在可以使用的parameterType有基本數(shù)據(jù)類型和JAVA復(fù)雜數(shù)據(jù)類型
基本數(shù)據(jù)類型:包含int,String,Date等?;緮?shù)據(jù)類型作為傳參,只能傳入一個(gè)。通過#{參數(shù)名} 即可獲取傳入的值
復(fù)雜數(shù)據(jù)類型:包含JAVA實(shí)體類、Map。通過#{屬性名}或#{map的KeyName}即可獲取傳入的值
基本數(shù)據(jù)類型參數(shù)示例:
根據(jù)班級(jí)ID查詢教師列表
xml文件
<select id="selectTeacher" parameterType="int" resultType="com.myapp.domain.Teacher">
select * from Teacher where c_id=#{id}
</select>
java代碼
List<Teacher> tList = teacherMapper.selectTeacher(2);
for (Teacher entityTemp : tList) {
System.out.println(entityTemp.toString());
}
JAVA實(shí)體類型參數(shù)示例:
<select id="selectTeacher" parameterType="com.myapp.domain.Teacher" resultType="com.myapp.domain.Teacher">
select * from Teacher where c_id=#{id}
</select>
java代碼
Teacher queryTeacher=new Teacher();
queryTeacher.setId(2);
List<Teacher> tList = teacherMapper.selectTeacher(queryTeacher);
for (Teacher entityTemp : tList) {
System.out.println(entityTemp.toString()); }
Map參數(shù)示例:
<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還提供了一個(gè)使用注解來參入多個(gè)參數(shù)的方式。這種方式需要在接口的參數(shù)上添加@Param注解
示例:
接口方法
public List<Teacher> selectTeacher(@Param(value="id") String id,@Param(value="sex") String sex);
XML文件
<select id="selectTeacher" resultType="com.myapp.domain.Teacher">
select * from Teacher where c_id=#{id} and sex=#{sex}
</select>
測(cè)試代碼
List<Teacher> tList = teacherMapper.selectTeacher("2","男");
for (Teacher entityTemp : tList) {
System.out.println(entityTemp.toString());
下面再給大家分享MyBatis傳參
1、當(dāng)傳參為list 時(shí):
1.1 mapper接口中:
void updateContactsIsRead(List<Integer> logidList);
1.2 mapper.xml 文件中:
<update id="updateContactsIsRead">
update emaillog2 set isRead = 1 where isRead = 0 and logid in
<foreach collection="list" item="logid" index="index" open="(" close=")" separator=",">
#{logid,jdbcType=INTEGER}
</foreach>
</update>
以上所述是小編給大家介紹的MyBatis傳入?yún)?shù)的實(shí)例代碼,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Tomcat 服務(wù)器 在45秒內(nèi)未啟動(dòng)成功的解決方法
下面小編就為大家?guī)硪黄猅omcat 服務(wù)器 在45秒內(nèi)未啟動(dòng)成功的解決方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-11-11
Java初學(xué)者了解"=="與equals的區(qū)別
這篇文章主要介紹了Java初學(xué)者了解"=="與equals的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11
Spring?Boot實(shí)現(xiàn)文件上傳的兩種方式總結(jié)
應(yīng)用開發(fā)過程中,文件上傳是一個(gè)基礎(chǔ)的擴(kuò)展功能,它的目的就是讓大家共享我們上傳的文件資源,下面這篇文章主要給大家總結(jié)介紹了關(guān)于Spring?Boot實(shí)現(xiàn)文件上傳的兩種方式,需要的朋友可以參考下2023-05-05
SpringBoot如何配置數(shù)據(jù)庫主從shardingsphere
這篇文章主要介紹了SpringBoot如何配置數(shù)據(jù)庫主從shardingsphere問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04
Java數(shù)據(jù)結(jié)構(gòu)之圖的原理與實(shí)現(xiàn)
圖(Graph)是由頂點(diǎn)的有窮非空集合和頂點(diǎn)之間邊的集合組成,通常表示為:G(V,E),其中,G表示一個(gè)圖,V是圖G中頂點(diǎn)的集合,E是圖G中邊的集合。本文將詳細(xì)介紹圖的原理及其代碼實(shí)現(xiàn),需要的可以參考一下2022-01-01
SpringSceurity實(shí)現(xiàn)短信驗(yàn)證碼功能的示例代碼
這篇文章主要介紹了SpringSceurity實(shí)現(xiàn)短信驗(yàn)證碼功能的示例代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06

