MyBatis之傳入參數

在MyBatis的select、insert、update、delete這些元素中都提到了parameterType這個屬性。MyBatis如今可使用的parameterType有基本數據類型和JAVA複雜數據類型html

  • 基本數據類型:包含int,String,Date等。基本數據類型做爲傳參,只能傳入一個。經過#{參數名} 便可獲取傳入的值
  • 複雜數據類型:包含JAVA實體類、Map。經過#{屬性名}或#{map的KeyName}便可獲取傳入的值

 

  • 基本數據類型參數示例:

根據班級ID查詢教師列表java

xml文件app

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


java代碼dom

[java]  view plain copy
 
  1. List<Teacher> tList = teacherMapper.selectTeacher(2);    
  2. for (Teacher entityTemp : tList) {    
  3.     System.out.println(entityTemp.toString());    
  4. }    
  • JAVA實體類型參數示例
[html]  view plain copy
 
  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 plain copy
 
  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 plain copy
     
    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 plain copy
     
    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註解

示例:測試

接口方法spa

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


XML文件.net

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


測試代碼xml

[java]  view plain copy
 
    1. List<Teacher> tList = teacherMapper.selectTeacher("2","男");    
    2. for (Teacher entityTemp : tList) {    
    3.     System.out.println(entityTemp.toString());   
相關文章
相關標籤/搜索