Ibatis傳遞多個參數

1) 用String代替

Java代碼

  1. String sql = "uid = '" + username + "' and pwd='" + password + "'";  
  2. Integer r = (Integer) sqlMap.queryForObject("checkLogin", sql);  

 

Xml代碼

  1. <select id="checkLogin" parameterClass="java.lang.String" resultClass="java.lang.Integer">  
  2.      SELECT count(*) AS value FROM userinfo WHERE $sql$  
  3. </select>  

 

2)用 Map

Java代碼

  1. Map map=new HashMap();  
  2. map.put("uid", username);  
  3. map.put("pwd", password);  
  4. Integer r = (Integer) sqlMap.queryForObject("checkLogin2", map);  

  一種寫法:

Xml代碼  

  1. <select id="    " parameterClass="java.util.Map" resultClass="java.lang.Integer">  
  2.        SELECT count(*) AS value FROM userinfo WHERE uid=#uid# and pwd=#pwd#  
  3. </select>  

  另一種寫法

Xml代碼  

  1. <parameterMap class="java.util.HashMap" id="parameterMap">        
  2.     <parameter property="uid"/>        
  3.     <parameter property="pwd"/>   
  4. </parameterMap>      
  5. <select id="checkLogin2" resultClass="java.lang.Integer" parameterMap="parameterMap">        
  6.      SELECT count(*) AS value FROM userinfo WHERE uid=? and pwd=?  
  7. </select>   

3)用bean

Java代碼  

  1. public Student queryStudentsByNameAndId(HashMap<String,String> hashMap)      {           
  2.   
  3.  Student s=null;            
  4. try {               
  5.       s=(Student)sqlMapClient.queryForObject("selectStudentByIdAndName",hashMap);                         
  6.  } catch (SQLException e) {                 
  7.       e.printStackTrace();           
  8.  }           
  9.       return s;       
  10.  }     

 

Xml代碼  

  1. <parameterMap class="java.util.HashMap" id="parameterMap">        
  2.       <parameter property="sid"/>        
  3.       <parameter property="sname"/>   
  4.  </parameterMap>      
  5.   
  6. <select id="selectStudentByIdAndName" resultClass="Student" parameterMap="parameterMap">        
  7.        select * from student where  sid=? and sname=?    
  8. </select>   
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章