当我们在用ibatis作为OR对象关系映射时,有时总会用到paramterMap标签,因为有时我们没有必要创建一个新的对象。
那我们究竟怎么用这个标签呢?下面给出具体事例。
1.在java类中:
// Map中放入name,id对应的值
Map<String, Object> paramMap = new HashMap<String, Object>();
paramMap.put("name",“duqiangcise”);
paramMap.put("id", “20081209”);
//调用service层,“MyTest"是ibatis配置文件的别名,“updateMsg”是相应<update id="updateMsg”">标签的id
service.update(“MyTest.updateMsg”, paramMap);
2. 在ibatis配置文件中:
<parameterMap id="updateParamMap" class="java.util.Map">
<parameter property="name" javaType="String" mode="IN"
jdbcType="VARCHAR" />
<parameter property="id" javaType="String" mode="IN"
jdbcType="VARCHAR" />
</parameterMap>
在上面我们应该注意的是:在<parameter>标签中的property属性中一定要包含
传入map的key值,即:要有property=“name” 和property=“id”这样的属性。也就是说,<parameterMap>
标签中要包含传入map的所有key。
3.配置具体的数据执行语句:
<update id="getByMap" parameterMap="updateParamMap">
update mytable set name=? and id=? where key=‘1’
</update>
上面应该注意的是,“?”代表传入的参数,并且第一个“?”对应定义parameterMap时的第一个属性,第二个“?”
对应定义parameterMap时的第二个属性,依次类推。要小心,千万不要把“?”和相应的属性的对应关系弄错了。
下一次将介绍,parameterMap在存储过程中的应用方法。
二:Map类型的Result
Result Map也可以方便为一个Map(如HashMap或TreeMap)对象赋值。还可以得到Map对象的集合(即Map的List)。Map对象与Java Bean同样的方式映射,只是使用name属性值作为Map的键值,用它来索引相应的数据库字段值,而不是象Java Bean一样给属性赋值。例如,如果您要将Product对象的数据装入Map,可以这样做:
<resultMap id=”get-product-result” class=”java.util.HashMap”>
<result property=”id” column=”PRD_ID”/>
<result property=”code” column=”PRD_CODE”/>
<result property=”description” column=”PRD_DESCRIPTION”/>
<result property=”suggestedPrice” column=”PRD_SUGGESTED_PRICE”/>
</resultMap>
上面的例子会创建一个HashMap的实例并用Product的数据赋值。Property的name属性值(即“id”)作为HashMap的键值,而列值则作为HashMap中相应的值。
当然,可以把Map类型Result和隐式的Result Map一起使用。例如:
<statement id=”getProductCount” resultClass=”java.util.HashMap”>
select * from PRODUCT
</statement>
上面的例子中,结果集将以Map类型返回。
分享到:
相关推荐
ibatis的dtd
ibatis中输入输出各种类型的参数分析及#与$区别
支持Parameter Map和Result Map的数据类型 缓存Mapped Statement结果集 只读 VS 可读写 Serializable可读写缓存 缓存类型 动态Mapped Statement 二元条件元素 一元条件元素 其他元素 简单的动态SQL元素 使用SQL Map ...
虽然ibatai sql map可以配置多个参数,但sqlMap只能传入一个参数,我们有两种方式,一是把我们的参数封装成一个类,通过set/get取值的方式给sql map注入参数,二是通过hashMap(可以组合一些不是同一个pojo的参数有...
ibatis的配置文件和映射文件,以及ibatis的应用
Ibatis应用实例.docx,非常非常值得推荐下载
NULL 博文链接:https://gjtiancai.iteye.com/blog/1297776
英文版ibatis教程,重点练习sqlmap,对初学者很有帮助。
ibatis学习 ibatis总结 ibatis ibatis ibatis
ibatis 读取oracle clob类型
基于iBATIS的数据库访问技术及其web应用,封小钰,王飞,介绍了通过IBATIS访问数据库的方法,建立了通过IBATIS完成对数据库访问配置、实现数据库访问控制的系统。在数据持久层使用IBATIS作为Jav
ibatis实例,ibatis实例,mysql应用举例,大家快来看。
ibatis 中文手册,介绍了ibatis map sql的重要特性
ibatis框架简单应用
Ibatis SQL Map 动态SQL 事务处理 缓存机制
基于SQLserver 数据库的IBatis中存储过程应用实例
书中既详实地介绍了iBATIS的设计理念和基础知识,也讨论了动态SQL、高速缓存、DAD框架等高级主题,还讲解了iBATIS在实际开发中的应用。《iBATIS实战》的最后给出了一个设计优雅、层次清晰的示例程序JGameStore,该...
基于iBatis SQL Map的数据持久层实现应用研究.pdf
Ibatis.net学习和实例Ibatis.net学习和实例Ibatis.net学习和实例Ibatis.net学习和实例
ibatis官方中文文档.rar包含ibatis官方中文文档及使用说明