ibatis java.util.Map作为parameterClass和resultClass(转)

6 篇文章 0 订阅
4 篇文章 0 订阅


1.Map作为parameterClass

映射文件:

Xml代码
  1. <!--use Map type as parameterClass-->   
  2.          < select   id = "getProduct-Map"   parameterClass = "java.util.Map"   resultMap = "get-product-result" >   
  3.              <![CDATA[  
  4.                 select from t_product  
  5.                 where prd_id=#id# and prd_description=#description#  
  6.             ]]>   
  7.          </ select >   
Xml代码
  1. <!--use Map type as parameterClass-->  
  2.         <select id="getProduct-Map" parameterClass="java.util.Map" resultMap="get-product-result">  
  3.             <![CDATA[  
  4.                 select from t_product  
  5.                 where prd_id=#id# and prd_description=#description#  
  6.             ]]>  
  7.         </select>  
<!--use Map type as parameterClass--> <select id="getProduct-Map" parameterClass="java.util.Map" resultMap="get-product-result"> <![CDATA[ select * from t_product where prd_id=#id# and prd_description=#description# ]]> </select>

 DAO层:

Java代码
  1.   
  2.      public  Product getProductMap(Map map)  throws  SQLException {   
  3.         init();   
  4.         Product product (Product)sqlMapClient.queryForObject( "getProduct-Map" , map);   
  5.          return  product;   
  6.      
Java代码
  1.   
  2.     public Product getProductMap(Map map) throws SQLException {   
  3.         init();   
  4.         Product product (Product)sqlMapClient.queryForObject("getProduct-Map", map);   
  5.         return product;   
  6.      
 public Product getProductMap(Map map) throws SQLException { init(); Product product = (Product)sqlMapClient.queryForObject("getProduct-Map", map); return product; }

 Test类:

Java代码
  1. public   void  getProductMap()  throws  SQLException{   
  2.         Map map  new  HashMap();   
  3.         map.put( "id" ,  new  Integer( 1 ));   
  4.         map.put( "description" ,  "basketball" );   
  5.         Product product productDao.getProductMap(map);   
  6.         System.out.println(product);   
  7.      
Java代码
  1. public void getProductMap() throws SQLException{   
  2.         Map map new HashMap();   
  3.         map.put("id", new Integer(1));   
  4.         map.put("description", "basketball");   
  5.         Product product productDao.getProductMap(map);   
  6.         System.out.println(product);   
  7.      

结果:

class java.util.HashMap
{prd_id=1, prd_price=206.99, prd_description=basketball}
class java.util.HashMap
{prd_id=2, prd_price=106.99, prd_description=football}
class java.util.HashMap
{price=206.99, description=basketball, id=1}
class java.util.HashMap
{price=106.99, description=football, id=2}

 

 

注意: Map作为resultClass时,必须指定具体的实现类,比如java.util.HashMap,否则会报错

Caused by: java.lang.RuntimeException: JavaBeansDataExchange could not instantiate result class.  Cause: java.lang.InstantiationException: java.util.Map

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值