MyBatis的Mapper設定檔的parameterType用法,mybatismapper.xml

來源:互聯網
上載者:User

MyBatis的Mapper設定檔的parameterType用法,mybatismapper.xml

在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檔案

[html] view plaincopy
  1. <select id="selectTeacher" parameterType="int" resultType="com.myapp.domain.Teacher">  
  2.     select * from Teacher where c_id=#{id}  
  3. </select>  


java代碼

[java] view plaincopy
  1. List<Teacher> tList = teacherMapper.selectTeacher(2);    
  2. for (Teacher entityTemp : tList) {    
  3.     System.out.println(entityTemp.toString());    
  4. }    
  • JAVA實體類型參數樣本:
[html] view plaincopy
  1. <select id="selectTeacher" parameterType="com.myapp.domain.Teacher" resultType="com.myapp.domain.Teacher">  
  2.     select * from Teacher where c_id=#{id}  
  3. </select>  
[java] view plaincopy
  1. java代碼  
  2.   
  3. Teacher queryTeacher=new Teacher();  
  4. queryTeacher.setId(2);  
  5. List<Teacher> tList = teacherMapper.selectTeacher(queryTeacher);    
  6. for (Teacher entityTemp : tList) {    
  7.     System.out.println(entityTemp.toString()); }  
  • Map參數樣本:
    [html] view plaincopy
    1. <select id="selectTeacher" parameterType="Map" resultType="com.myapp.domain.Teacher">  
    2.     select * from Teacher where c_id=#{id} and sex=#{sex}  
    3. </select>  

    [java] view plaincopy
    1. java代碼  
    2.   
    3. Map<String,String> map=new HasMap<String,String>();  
    4. map.put("id","2");  
    5. map.put("sex","男");  
    6. List<Teacher> tList = teacherMapper.selectTeacher(map);    
    7. for (Teacher entityTemp : tList) {    
    8.     System.out.println(entityTemp.toString()); }  
 另外MyBatis還提供了一個使用註解來參入多個參數的方式。這種方式需要在介面的參數上添加@Param註解

樣本:

介面方法

[java] view plaincopy
  1. public List<Teacher> selectTeacher(@Param(value="id") String id,@Param(value="sex") String sex);  


XML檔案

[html] view plaincopy
  1. <select id="selectTeacher"  resultType="com.myapp.domain.Teacher">  
  2.     select * from Teacher where c_id=#{id} and sex=#{sex}  
  3. </select>  


測試代碼

[java] view plaincopy
  1. List<Teacher> tList = teacherMapper.selectTeacher("2","男");    
  2. for (Teacher entityTemp : tList) {    
  3.     System.out.println(entityTemp.toString());   

相關文章

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.