近日使用ibatis,把日常用法记录下来,以备以后用的时候能够再捡起来。ibatis的核心类是SqlMapClient。
1. 直接使用sql语句,用法为:
SqlMapClientImpl.update(String id);
这个可以在不需要接收外界传入参数时的更新语句时使用。
2. 在一个SQL中更新多条记录的时候,用update(String id)效率更高,如:
update td_product t set t.update_type=2, t.is_indexed='0' where t.up_flag = 0
而不能用显得有些浮肿的先创建对象,再获取对象的List,再对List进行批量操作的方法,如果这样,程序的开发速度慢不说,而且调试麻烦,程序的运行速度也低下,是事倍功半的做法。精简快速就是标准,要记住这个。
3. 配置文件示例:
<update id="openProductShow" parameterClass="com.mic.escrow.seller.bean.po.product.ProductBean">
<![CDATA[
update td_product t set t.is_indexed='0'
]]>
<dynamic>
<isNotEmpty property="updateType">
<isEqual property="updateType" compareValue="0" prepend=",">
<![CDATA[UPDATE_TYPE = 3 ]]>
</isEqual>
<isEqual property="updateType" compareValue="1" prepend=",">
<![CDATA[UPDATE_TYPE = 2 ]]>
</isEqual>
</isNotEmpty>
</dynamic>
<![CDATA[
where t.CHECKEDPROD = 0 and t.PRODUCTSTATUS = '0'
]]>
</update>
这个语句的作用就是根据传出的参数updateType的值,动态执行SQL语句,当updateType的值为0时,执行条件update_type=3,当值为1时,执行条件update_type=2, prepend是语句的前缀。
当传入list参数时,可以使用这样的语句:
<isNotNull property="emailFrom" prepend="and" removeFirstPrepend="true">
<iterate property="emailFrom" open="(" close=")" conjunction="or" >
<![CDATA[ email_from = #emailFrom[]#]]>
</iterate>
</isNotNull>
iterate用于迭代list中的值,这个语句用于item in (condition1,condition2)的场景,或者item=condition1 or item=condition2这样的情形。
更多知识请参照:http://www.iteye.com/forums/tag/iBATIS
分享到:
相关推荐
### 详细介绍Ibatis的用法 #### Ibatis概述与特点 Ibatis是一个开源的持久层框架,它通过简单的XML配置文件将JavaBean映射到SQL语句上,从而极大简化了对关系数据库的操作。与其他数据库持久层框架如JDO、...
在这个"iBatis Web用法实例"中,我们将深入探讨如何在Web项目中集成并使用iBatis,以及相关的最佳实践。 1. **iBatis 概述**: iBatis 作为轻量级的ORM(对象关系映射)框架,它的核心思想是将SQL与Java代码分离,...
**iBatis的使用步骤** 1. **配置环境**:引入iBatis的jar包,并在项目中配置SqlMapConfig.xml文件,包括数据源、事务管理器等。 2. **编写SQL映射文件**:创建XML文件,定义SQL语句,包括查询、插入、更新和删除等...
Ibatis 提供了一些基本的API,如查询、添加、删除和修改方法。通常,会通过 SqlMapClient 的工厂类创建 SqlMapClient 实例,以管理数据库操作。例如,使用 SqlMapClientBuilder 创建 SqlMapClient 对象,然后执行...
Ibatis 是一款轻量级的Java持久层框架,它允许开发者将SQL语句与Java代码分离,从而使得数据库访问更加灵活、易于维护。本篇文章将深入探讨Ibatis的核心概念、最佳实践以及与其他框架如Struts和Spring的整合。 1. ...
通过这个demo,你可以了解到Ibatis的基本用法,如何编写SQL映射文件,如何设计Mapper接口,以及如何在Java代码中调用这些接口执行数据库操作。同时,也能掌握Ibatis的动态SQL特性,以及如何配合Spring进行更高效的...
### iBATIS缓存的使用方法 在数据库访问框架iBATIS中,缓存机制是一项重要的功能,它能够显著提高应用程序的性能。本文将详细介绍iBATIS中的缓存使用方法,包括缓存模型的配置、不同类型的缓存控制器以及如何在SQL...
在IT行业中,数据库操作是必不可少的一部分,而Ibatis作为一款流行的Java持久层框架,它使得SQL与Java代码更好地...对于`ibatisdemo`这个项目,你可以按照上述方法检查并调整项目的配置,以解决可能出现的乱码问题。
2. 执行映射的Statement,iBATIS框架创建PreparedStatement,使用参数对象,执行SQL并从结果集中构建返回对象。 3. 返回结果,如果是更新操作,返回受影响的行数;如果是查询,返回单个对象或对象集合。 五、基础...
通过阅读和理解源码,开发者不仅能掌握iBATIS DAO的基本使用,还能深入了解其内部实现,提升数据库操作的技巧和优化能力。同时,添加注释的过程也是深化理解的好方法,有助于在实际项目中更高效地应用iBATIS框架。
**Ibatis简介** Ibatis,又称为SQL Map,是一个优秀的持久层框架,它允许开发者将SQL语句直接写在配置文件中,与Java代码进行分离,使得...了解并熟练掌握Ibatis的使用,对于提升Java开发效率和代码质量具有重要意义。
"iBatis开发指南"则是更全面的官方文档,它包含了iBatis的所有特性和使用方法。从中,你可以学习到动态SQL的使用,这是一种强大的特性,允许你在运行时根据条件动态地构建SQL语句。此外,还有关于事务管理、缓存机制...
- **读取配置文件**:使用 `Resources.getResourceAsReader()` 方法读取配置文件,例如 `CONFIG_FILE_PATH`。 - **创建 SqlSessionFactory**:通过 `SqlSessionFactoryBuilder.build()` 方法创建 `SqlSessionFactory...
iBatis动态SQL标签用法 iBatis是Java持久层框架,提供了动态SQL标签来实现动态查询。动态SQL标签可以根据不同的条件生成不同的SQL语句,从而提高查询效率和灵活性。 动态SQL片段 iBatis提供了动态SQL片段的功能,...
本篇文章将深入探讨Ibatis API、文档以及说明,帮助你更好地理解和使用这个强大的框架。 Ibatis API是Ibatis的核心接口和类,提供了丰富的功能供开发者进行数据访问。以下是一些关键的API组件: 1. ...
这个入门级别的教程将引导你了解 Ibatis 的基本概念和使用方法,包括增删改查操作、多条件查询以及单对象和数据集合查询。 1. **安装与配置** 在开始使用 Ibatis 之前,你需要在项目中引入 Ibatis 的依赖。如果是 ...
总的来说,IBATIS API和开发文档是学习和使用IBATIS不可或缺的资源,它们涵盖了IBATIS的所有关键特性和用法,无论你是初学者还是有经验的开发者,都能从中受益匪浅。通过深入理解和实践,可以充分利用IBATIS的灵活性...
- 使用`SqlMapExecutor`对象的`startBatch()`方法启动批量更新模式。 - 循环遍历待更新的数据集合,使用`update`方法依次执行更新操作。 - 调用`executeBatch()`方法提交所有的更新操作。 4. **示例代码**: ``...
1. **《iBATIS in Action》**: 这通常是一本关于iBATIS的书籍,可能深入介绍了iBATIS的原理、配置、使用方法以及最佳实践,对于学习和理解iBATIS非常有帮助。 2. **《ibatis Guide》**: 这可能是iBATIS的官方指南...
Ibatis 的一大亮点是支持动态 SQL,开发者可以在 SQL 映射文件中使用条件判断、循环等结构,使得 SQL 语句能够根据传入参数的不同而变化。 **4. MyBatis vs Ibatis** 尽管 Ibatis 在后期演进成了 MyBatis,两者在...