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>   
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值