MyBatis傳入參數的執行個體代碼_java

來源:互聯網
上載者:User

在MyBatis的select、insert、update、delete這些元素中都提到了parameterType這個屬性。MyBatis現在可以使用的parameterType有基礎資料型別 (Elementary Data Type)和JAVA複雜資料類型

基礎資料型別 (Elementary Data Type):包含int,String,Date等。基礎資料型別 (Elementary Data Type)作為傳參,只能傳入一個。通過#{參數名} 即可擷取傳入的值

複雜資料類型:包含JAVA實體類、Map。通過#{屬性名稱}或#{map的KeyName}即可擷取傳入的值

基礎資料型別 (Elementary Data Type)參數樣本:

根據班級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實體類型參數樣本:

<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參數樣本:

<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還提供了一個使用註解來參入多個參數的方式。這種方式需要在介面的參數上添加@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> 

測試代碼

List<Teacher> tList = teacherMapper.selectTeacher("2","男");  for (Teacher entityTemp : tList) {    System.out.println(entityTemp.toString());  

下面再給大家分享MyBatis傳參

1、當傳參為list 時: 

     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傳入參數的執行個體代碼,希望對大家有所協助,如果大家有任何疑問請給我留言,小編會及時回複大家的。在此也非常感謝大家對雲棲社區網站的支援!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.