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 >
<!--use Map type as parameterClass--><select id="getProduct-Map" parameterClass="java.util.Map" resultMap="get-product-result"><![CDATA[select * from t_productwhere prd_id=#id# and prd_description=#description#]]></select>

DAO层:

Java代码
  1. /**
  2. * java.util.Map作为parameterClass
  3. */
  4. public  Product getProductMap(Map map)  throws  SQLException {
  5. init();
  6. Product product = (Product)sqlMapClient.queryForObject( "getProduct-Map" , map);
  7. return  product;
  8. }
/*** java.util.Map作为parameterClass*/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. }
public void getProductMap() throws SQLException{Map map = new HashMap();map.put("id", new Integer(1));map.put("description", "basketball");Product product = productDao.getProductMap(map);System.out.println(product);}

结果:

id:1
description:basketball
price206.99

2.Map作为resultClass

映射文件:

Xml代码
  1. < resultMap   id = "get-product-map"   class = "java.util.HashMap" >
  2. < result   property = "id"   column = "prd_id" />
  3. < result   property = "description"   column = "prd_description" />
  4. < result   property = "price"   column = "prd_price" />
  5. </ resultMap >
  6. <!--START  use Map type as resultClass,MUST use java.util.HashMap instead java.util.Map-->
  7. < select   id = "getProdcut-MapResult"   resultClass =" java.util.HashMap " >
  8. <![CDATA[
  9. select * from t_product
  10. ]]>
  11. </ select >
  12. < select   id = "getProductUseMap-resultMap"   resultMap = "get-product-map" >
  13. <![CDATA[
  14. select * from t_product
  15. ]]>
  16. </ select >
  17. <!-- END  -->
<resultMap id="get-product-map" class="java.util.HashMap"><result property="id" column="prd_id"/><result property="description" column="prd_description"/><result property="price" column="prd_price"/></resultMap><!--START  use Map type as resultClass,MUST use java.util.HashMap instead java.util.Map--><select id="getProdcut-MapResult" resultClass=" java.util.HashMap"><![CDATA[select * from t_product]]></select><select id="getProductUseMap-resultMap" resultMap="get-product-map"><![CDATA[select * from t_product]]></select><!-- END  -->

 DAO层:

Java代码
  1. /**
  2. * java.util.Map作为resultClass
  3. */
  4. public  List getProductMapResult()  throws  SQLException {
  5. init();
  6. List list = sqlMapClient.queryForList( "getProdcut-MapResult" );
  7. return  list;
  8. }
  9. public  List getProductUseMapByResultMap()  throws  SQLException {
  10. init();
  11. List list = sqlMapClient.queryForList( "getProductUseMap-resultMap" );
  12. return  list;
  13. }
/*** java.util.Map作为resultClass*/public List getProductMapResult() throws SQLException {init();List list = sqlMapClient.queryForList("getProdcut-MapResult");return list;}public List getProductUseMapByResultMap() throws SQLException {init();List list = sqlMapClient.queryForList("getProductUseMap-resultMap");return list;}

 Test类:

Java代码
  1. public   void  getProductMapResult()  throws  SQLException{
  2. Map map =  null ;
  3. List list = productDao.getProductMapResult();
  4. for (Iterator it=list.iterator(); it.hasNext();) {
  5. //List里存放的是java.util.Map类型
  6. Object obj = (Object)it.next();
  7. System.out.println(obj.getClass());
  8. System.out.println(obj);
  9. }
  10. }
  11. public   void  getProductUseMapByResultMap()  throws  SQLException {
  12. Map map =  null ;
  13. List list = productDao.getProductUseMapByResultMap();
  14. for (Iterator it=list.iterator(); it.hasNext();) {
  15. //List里存放的是java.util.Map类型
  16. Object obj = (Object)it.next();
  17. System.out.println(obj.getClass());
  18. System.out.println(obj);
  19. }
  20. }
public void getProductMapResult() throws SQLException{Map map = null;List list = productDao.getProductMapResult();for(Iterator it=list.iterator(); it.hasNext();) {//List里存放的是java.util.Map类型Object obj = (Object)it.next();System.out.println(obj.getClass());System.out.println(obj);}}public void getProductUseMapByResultMap() throws SQLException {Map map = null;List list = productDao.getProductUseMapByResultMap();for(Iterator it=list.iterator(); it.hasNext();) {//List里存放的是java.util.Map类型Object obj = (Object)it.next();System.out.println(obj.getClass());System.out.println(obj);}}

结果:

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

转自:http://xulongfa.iteye.com/blog/429616

(转)ibatis Tips 之 java.util.Map作为parameterClass和resultClass相关推荐

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

     1.Map作为parameterClass 映射文件: Xml代码 <!--use Map type as parameterClass--> < select   id = ...

  2. org.apache.ibatis.builder.IncompleteElementException: Could not find parameter map java.util.Map

    先看下代码 <select id="findByAccount" parameterType="java.util.Map" resultType=&qu ...

  3. 【Intellij IDEA系列】IDEA泛型处理Unchecked assignment:'java.util.Map' to 'java.util.Maplt;'

    在 intellij idea 编辑器中,把一个Map类型的数据,强制类型转换的时候. 在中不想看到代码的如下警告的解决方法: 警告信息------------- 简单警告: Unchecked ca ...

  4. java util map,我应该如何命名java.util.Map?

    I have a java.util.Map that maps from a logical name to a set of parameters to use with that name. M ...

  5. JAXB和java.util.Map

    具有讽刺意味的是,可能很难在JAXB(JSR-222)中映射java.util.Map类? 在这篇文章中,我将介绍一些使其变得更容易的项目. Java模型 以下是我们将用于此示例的Java模型. 顾客 ...

  6. Cannot convert value of type ‘java.lang.String‘ to required type ‘java.util.Map‘ for property ‘param

    问题描述 若依中使用feign进行远程调用,在get请求中使用@SpringQueryMap映射对象时,映射对象的父类中带有Map<String, Object>类型的params属性时, ...

  7. nested exception is java.lang.ClassCastException: java.lang String cannot be cast to java.util.Map

    今天来此记录下自己犯了多次的错误,就是在本地服务起了之后,在页面点击看效果报错,页面显示异常,后端报错,如下: falied to handle or send message;nested exce ...

  8. mybatis异常:Could not find result map Java.util.Map 问题分析及解决

    使用mybatis时,自己或者同事踩到的坑给大家分享下,有其他问题分享的同学欢迎交流~ 现象:编译未出现异常,调用相关服务时候,出现 Could not find result map Java.ut ...

  9. mybatis异常:Could not find result map Java.util.Map 问题分析及解决 定位不到具体的位置的错误

    mybatis异常:Could not find result map Java.util.Map 问题分析及解决 定位不到具体的位置的错误 参考文章: (1)mybatis异常:Could not ...

最新文章

  1. SAP Spartacus 3.0 加载homepage的逻辑
  2. 将Windows MyEclipse的web项目移植到Debian下
  3. (译)Windsor入门教程---第三部分 编写第一个Installer
  4. 红外线遥控c语言程序,红外线遥控解码接收程序-c语言讲解学习.pdf
  5. 微信更新的这功能“炸了”:网友集体吐槽 忍不了
  6. 阿里巴巴:如何从优秀员工,晋升为合格管理者?
  7. android 圆形自定义进度条,Android 实现自定义圆形进度条的功能
  8. 计算机sci多少页,sci论文一般多少页
  9. 我们错过了那么多机会,怎么办
  10. HTML5-企业宣传6款免费源码尽在h5edu.cn
  11. pandas 筛选行 整行复制粘贴
  12. 2021年安全员-C证(陕西省)考试资料及安全员-C证(陕西省)新版试题
  13. Android自定义View实现方位刻度尺(类似于吃鸡手游)
  14. Codeforces div2 D. Madoka and The Corruption Scheme
  15. Thinkjs——定时任务配置代码示例
  16. 【区块链技术工坊29期实录】小包总:SERO基于零知识证明的隐私保护公链解决方案
  17. SUSCTF 2022圆满落幕,SU战队夺冠
  18. simulink中子系统分解
  19. 同步FIFO的设计,介绍一下FIFO的基础知识
  20. python做网站和php_做网站用php还是python

热门文章

  1. 群晖服务器主板维修,没那么复杂 群晖DS213j内部拆解
  2. jmeter测试服务器性能测试报告,Jmeter的性能测试
  3. 阿里云部署数据库(遇到的问题及解决方案)
  4. QTextLine、QGlyphRun、QTextLayout
  5. java未来发展潜力_Java语言未来是否还有发展前景
  6. Postman--使用
  7. 多元线性回归预测房价
  8. springboot整合redis报错org.springframework.beans.factory.UnsatisfiedDependencyException
  9. 云服务 saas_SaaS和云服务策划
  10. 判断一个数是否为两个素数的乘积