(转)ibatis Tips 之 java.util.Map作为parameterClass和resultClass
1.Map作为parameterClass
映射文件:
![](http://xulongfa.iteye.com/images/icon_copy.gif)
- <!--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 >
<!--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层:
![](http://xulongfa.iteye.com/images/icon_copy.gif)
- /**
- * java.util.Map作为parameterClass
- */
- public Product getProductMap(Map map) throws SQLException {
- init();
- Product product = (Product)sqlMapClient.queryForObject( "getProduct-Map" , map);
- return product;
- }
/*** java.util.Map作为parameterClass*/public Product getProductMap(Map map) throws SQLException {init();Product product = (Product)sqlMapClient.queryForObject("getProduct-Map", map);return product;}
Test类:
![](http://xulongfa.iteye.com/images/icon_copy.gif)
- 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);
- }
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
映射文件:
![](http://xulongfa.iteye.com/images/icon_copy.gif)
- < 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 -->
<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层:
![](http://xulongfa.iteye.com/images/icon_copy.gif)
- /**
- * 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;
- }
/*** 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类:
![](http://xulongfa.iteye.com/images/icon_copy.gif)
- 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);
- }
- }
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相关推荐
- ibatis java.util.Map作为parameterClass和resultClass(转)
1.Map作为parameterClass 映射文件: Xml代码 <!--use Map type as parameterClass--> < select id = ...
- org.apache.ibatis.builder.IncompleteElementException: Could not find parameter map java.util.Map
先看下代码 <select id="findByAccount" parameterType="java.util.Map" resultType=&qu ...
- 【Intellij IDEA系列】IDEA泛型处理Unchecked assignment:'java.util.Map' to 'java.util.Maplt;'
在 intellij idea 编辑器中,把一个Map类型的数据,强制类型转换的时候. 在中不想看到代码的如下警告的解决方法: 警告信息------------- 简单警告: Unchecked ca ...
- 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 ...
- JAXB和java.util.Map
具有讽刺意味的是,可能很难在JAXB(JSR-222)中映射java.util.Map类? 在这篇文章中,我将介绍一些使其变得更容易的项目. Java模型 以下是我们将用于此示例的Java模型. 顾客 ...
- Cannot convert value of type ‘java.lang.String‘ to required type ‘java.util.Map‘ for property ‘param
问题描述 若依中使用feign进行远程调用,在get请求中使用@SpringQueryMap映射对象时,映射对象的父类中带有Map<String, Object>类型的params属性时, ...
- nested exception is java.lang.ClassCastException: java.lang String cannot be cast to java.util.Map
今天来此记录下自己犯了多次的错误,就是在本地服务起了之后,在页面点击看效果报错,页面显示异常,后端报错,如下: falied to handle or send message;nested exce ...
- mybatis异常:Could not find result map Java.util.Map 问题分析及解决
使用mybatis时,自己或者同事踩到的坑给大家分享下,有其他问题分享的同学欢迎交流~ 现象:编译未出现异常,调用相关服务时候,出现 Could not find result map Java.ut ...
- mybatis异常:Could not find result map Java.util.Map 问题分析及解决 定位不到具体的位置的错误
mybatis异常:Could not find result map Java.util.Map 问题分析及解决 定位不到具体的位置的错误 参考文章: (1)mybatis异常:Could not ...
最新文章
- SAP Spartacus 3.0 加载homepage的逻辑
- 将Windows MyEclipse的web项目移植到Debian下
- (译)Windsor入门教程---第三部分 编写第一个Installer
- 红外线遥控c语言程序,红外线遥控解码接收程序-c语言讲解学习.pdf
- 微信更新的这功能“炸了”:网友集体吐槽 忍不了
- 阿里巴巴:如何从优秀员工,晋升为合格管理者?
- android 圆形自定义进度条,Android 实现自定义圆形进度条的功能
- 计算机sci多少页,sci论文一般多少页
- 我们错过了那么多机会,怎么办
- HTML5-企业宣传6款免费源码尽在h5edu.cn
- pandas 筛选行 整行复制粘贴
- 2021年安全员-C证(陕西省)考试资料及安全员-C证(陕西省)新版试题
- Android自定义View实现方位刻度尺(类似于吃鸡手游)
- Codeforces div2 D. Madoka and The Corruption Scheme
- Thinkjs——定时任务配置代码示例
- 【区块链技术工坊29期实录】小包总:SERO基于零知识证明的隐私保护公链解决方案
- SUSCTF 2022圆满落幕,SU战队夺冠
- simulink中子系统分解
- 同步FIFO的设计,介绍一下FIFO的基础知识
- python做网站和php_做网站用php还是python
热门文章
- 群晖服务器主板维修,没那么复杂 群晖DS213j内部拆解
- jmeter测试服务器性能测试报告,Jmeter的性能测试
- 阿里云部署数据库(遇到的问题及解决方案)
- QTextLine、QGlyphRun、QTextLayout
- java未来发展潜力_Java语言未来是否还有发展前景
- Postman--使用
- 多元线性回归预测房价
- springboot整合redis报错org.springframework.beans.factory.UnsatisfiedDependencyException
- 云服务 saas_SaaS和云服务策划
- 判断一个数是否为两个素数的乘积