当我们在用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类型返回。
分享到:
相关推荐
5. **自动生成select语句**:在标签处,按Alt+Enter选择Generate result for resultMap or resultClass,插件会根据parameterClass或parameterMap自动生成对应的select语句。 6. **SqlMapClient方法调用的代码提示*...
Ibatis 是一个轻量级的持久层框架,它允许开发者将SQL语句直接写在XML配置文件中,从而简化了Java应用程序与数据库的交互。Ibatis 的核心知识点主要包括以下几个方面: 1. **SQL Map XML 映射文件** SQL Map XML ...
在IT领域,特别是数据库操作与Java编程中,iBatis框架(现称为MyBatis)是一种流行的持久层框架,用于简化SQL映射和结果集处理。本文将深入探讨如何使用iBatis调用存储过程并返回游标,这是一个在处理复杂数据库操作...
XML文件中包括SQL语句、参数映射(例如:`<parameterMap>`和`<parameter>`)和结果映射(例如:`<resultMap>`和`<result>`)。 7. **动态SQL**:Ibatis支持动态SQL,可以在XML映射文件中使用条件判断、循环等逻辑,...
在实际的软件开发过程中,存储过程因其执行效率高及数据库级别的安全性等优点被广泛应用于各种业务场景之中。而对于使用Ibatis作为持久层框架的应用来说,如何有效地调用存储过程便成为了一个值得探讨的话题。本文将...
- **支持 ParameterMap 和 ResultMap 的数据类型**:详细介绍哪些 Java 类型可以在 iBatis 中使用。 - **缓存 Mapped Statement 结果集**:介绍如何利用缓存提高查询性能。 - **只读 VS 可读写**:缓存的不同模式...
- **支持 ParameterMap 和 ResultMap 的数据类型**:包括基本类型、自定义类型等。 - **缓存 MappedStatement 结果集**:支持缓存查询结果以提高性能。 - **只读 VS 可读写**:区分只读缓存和可读写缓存。 - **...
4. Statement:SQL语句在iBATIS中被封装为Statement对象,分为两种类型:Select(查询)和Executor(执行器)。Executor负责执行SQL语句,并处理结果。 三、工作流程 1. 加载配置:应用程序启动时,iBATIS会加载SQL...
### iBATIS SQL Map 关键知识点 #### 一、引言 - **iBATIS SQL Map** 是一种用于简化数据库访问的工具,它通过简单的XML配置...通过其丰富的特性和灵活的配置选项,SQL Map 成为了许多Java应用中不可或缺的一部分。
- **Result Map**:通过 `<result>` 元素定义,支持基本类型结果的映射,同时也支持复杂类型的属性映射,包括自定义类型和集合类型。 - **避免 N+1 Select**:通过适当的缓存策略和联合查询优化,减少不必要的数据库...
- **概念**:iBatis SQL Maps 是一个开源框架,用于简化Java应用程序中的数据库操作。它通过XML配置文件来定义数据库操作逻辑,从而减少了传统数据库访问所需的大量Java代码。 - **工作原理**:SQL Maps通过映射Java...
7. **参数映射(Parameter Mapping)**:通过`<parameterMap>`和`<paramter>`元素,Ibatis将Java对象的属性值映射到SQL语句的占位符。 8. **结果映射(Result Mapping)**:`<resultMap>`定义了如何将查询结果转换...
2. SQL映射:iBatis的核心是SQL Map配置文件,其中定义了SQL语句、参数映射和结果集映射。通过XML或注解方式,开发者可以灵活地编写和管理SQL,同时支持动态SQL,增加了查询的灵活性。 3. 映射元素:在iBatis中,`...
"分页资料.txt", "ibatis 分页查询.txt"和"ibatis动态查询条件.txt"可能是关于如何在实际项目中实现分页查询和动态条件查询的具体示例或说明,帮助开发者更好地理解和应用上述概念。 总的来说,IBATIS SQL Maps提供...
- **Map类型的Result**:可以将查询结果映射到Map对象中,其中键通常是列名。 - **复杂类型属性**:对于自定义类型的属性,可以通过嵌套ResultMap进行映射。 - **避免N+1 Select**:通过使用适当的关联查询策略来...
5. **参数映射与结果映射**:详细解析了如何处理输入参数(@Param注解、map、POJO等)以及输出结果(@ResultMap、@Results、@Result等),确保数据正确地在数据库与Java对象之间转换。 6. **缓存机制**:Ibatis的...