1、<iterate>:这属性遍历整个集合,并为List集合中的元素重复元素体的内容。
Iterate的属性:
prepend - 可被覆盖的SQL语句组成部分,添加在语句的前面(可选)
property - 类型为java.util.List的用于遍历的元素(必选)
open - 整个遍历内容体开始的字符串,用于定义括号(可选)
close -整个遍历内容体结束的字符串,用于定义括号(可选)
conjunction - 每次遍历内容之间的字符串,用于定义AND或OR(可选)
<iterate prepend=”AND” property=”userNameList” open=”(” close=”)” conjunction=”OR”> username=#userNameList[]# </iterate> = and (username=name1 or username=name2...)
注意:使用<iterate>时,在List元素名后面包括方括号[]非常重要,方括号[]将对象标记为List,以防解析器简单地将List输出成String。
2、一元条件元素的属性:
prepend - 可被覆盖的SQL语句组成部分,添加在语句的前面(可选)
property - 被比较的属性(必选)
<isPropertyAvailable> 检查是否存在该属性(存在parameter bean的属性)。
<isNotPropertyAvailable> 检查是否不存在该属性(不存在parameter bean的属性)。
<isNull> 检查属性是否为null。
<isNotNull> 检查属性是否不为null。
<isEmpty> 检查Collection.size()的值,属性的String或String.valueOf()值,是否为null或 空(“”或size() < 1)。
<isNotEmpty> 检查Collection.size()的值,属性的String或String.valueOf()值,是否不为 null或不为空(“”或size() > 0)。
例子:
<isNotEmpty prepend=”AND” property=”firstName” >
FIRST_NAME=#firstName#
</isNotEmpty>
3、下面是一个简单的例子(News.xml)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd" >
<sqlMap namespace="News">
<!-- 定义别名,为要映射的包.类名,定义一个别名,方便使用 -->
<typeAlias alias="News" type="com.lewis.News" />
<!-- 定义公共常量 -->
<sql id="selectSql">
<![CDATA[
SELECT ID,
TITLE,
CONTENT,
CREATETIME
FROM NEWS
]]>
</sql>
<!-- 按指定的ID集合查询 -->
<select id="getByIds" parameterClass="java.util.List"
resultClass="News">
<include refid="selectSql" />
<dynamic>
<iterate open="WHERE ID IN (" close=")" conjunction=",">
#list[]#
</iterate>
</dynamic>
</select>
<!-- 按某一个Id查找 -->
<select id="get" parameterClass="java.lang.String" resultClass="News">
<include refid="selectSql" />
WHERE ID=#value#
</select>
<!-- 查找数量 -->
<sql id="selectCountSql">
SELECT COUNT(ID) FROM NEWS
</sql>
<!-- 查找所有news -->
<select id="searchNewsList" resultClass="News">
<include refid="selectSql" />
ORDER BY TITLE
</select>
<!-- 添加操作 -->
<insert id="insert" parameterClass="News">
INSERT INTO NEWS(
ID
<dynamic prepend="">
<isNotNull prepend="," property="title">
TITLE
</isNotNull>
<isNotNull prepend="," property="content">
CONTENT
</isNotNull>
<isNotNull prepend="," property="createtime">
CREATETIME
</isNotNull>
</dynamic>
)
VALUES(
#id#
<dynamic prepend="">
<isNotNull prepend="," property="title">
TITLE
</isNotNull>
<isNotNull prepend="," property="content">
CONTENT
</isNotNull>
<isNotNull prepend="," property="createtime">
CREATETIME
</isNotNull>
</dynamic>
)
</insert>
<!-- 删除操作 -->
<delete id="delete" parameterClass="java.lang.String">
DELETE FROM NEWS
WHERE ID
= #value#
</delete>
<!-- 更新操作 -->
<update id="update" parameterClass="News">
UPDATE NEWS
<dynamic prepend="set">
<isNotNull prepend="," property="title">
TITLE = #title#
</isNotNull>
<isNotNull prepend="," property="content">
CONTENT = #content#
</isNotNull>
<isNotNull prepend="," property="createtime">
CREATETIME = #createtime#
</isNotNull>
</dynamic>
WHERE ID = #Id#
</update>
</sqlMap>
分享到:
相关推荐
在这个"Struts+Spring+iBATIS做的XML文件操作例子"中,我们将深入探讨这三个框架如何协同工作以及XML文件在其中的作用。 Struts 是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,它主要用于控制...
在ibatis框架中,`sqlMapConfig.xml`是一个非常重要的配置文件,它主要用于设置ibatis的全局配置信息,包括数据库连接信息、环境配置以及其它运行时参数等。下面将对这个文件中的关键元素进行详细的解析。 ##### ...
它会根据配置文件中的设置,连接到MySQL数据库,读取表结构,并自动创建对应的Java实体类和iBatis配置文件。 5. **整合到项目**: 将生成的Java文件和XML文件引入到你的项目中,然后就可以在代码中直接使用这些实体...
iBatis通过XML配置文件(sql-map.xml)定义SQL语句,然后在Java代码中调用SqlMapClient接口执行这些语句。这使得数据库操作更易于维护和扩展。 5. **分页功能**:描述中提到有分页功能,这通常涉及到前端展示和后端...
iBatis是一个SQL映射框架,它允许开发者将SQL语句直接写在XML配置文件中,以简化数据库操作。`sqlmapconfig.xml`的主要内容包括: 1. `<configuration>`:配置文件的根元素,包含全局配置和数据源设置。 2. `...
`一个简单的ibatis示例.doc`是一个基础的iBatis应用示例,通常会展示如何创建SqlMapConfig.xml配置文件,定义SQL映射文件,以及在Java代码中如何使用SqlSession进行数据库操作。通过这个例子,你可以了解到iBatis的...
标题中提到的“常用ibatis配置”指的是在使用iBatis这一数据持久层框架中,常见的配置用法和技术点。iBatis(现称为MyBatis)是一个流行的Java持久层框架,它通过使用XML或注解的方式,将SQL语句与对象进行映射,...
在Oracle数据库中,函数和存储过程是两种常用的PL/SQL编程元素,它们允许开发者封装复杂的逻辑,以便在数据库层面上执行。Ibatis,一个轻量级的Java持久层框架,提供了与数据库交互的能力,包括调用这些Oracle的函数...
2. 配置文件:创建 `mybatis-config.xml`,配置数据源、事务管理器等核心设置。 3. 映射文件:创建 SQL 映射文件,如 `UserMapper.xml`,用于编写 SQL 语句。 三、Ibatis 基本使用 1. 创建 Mapper 接口:定义对应...
通过XML配置文件,你可以声明SQL语句、参数和结果集映射,使得业务逻辑层可以以声明式的方式执行数据库操作。这个文档将解释如何创建和配置SQL Map文件,以及如何在Java代码中调用它们。 其次,`iBATIS-DAO-2_en....
在这个项目中,ssi-web很可能是项目的Web应用目录,包含了Struts2的配置文件(struts.xml)、Spring的配置文件(如applicationContext.xml)、iBatis的配置文件(mybatis-config.xml)以及相关的Action类、Service类...
本篇文章将详细讲解如何利用Ibatis实现数据的连接、增加、查询、删除和修改(CRUD)操作,以及.xml文件在SQL映射中的作用。 首先,Ibatis是一个轻量级的Java ORM(对象关系映射)框架,它的核心理念是将SQL语句与...
在iBatis中,SQL语句是通过XML文件来配置的。下面是16个常用的iBatis SQL语句,涵盖了基本的CRUD(Create、Read、Update、Delete)操作。 1. 删除语句 在iBatis中,删除语句可以使用`<delete>`元素。例如: ```xml...
2. **SqlMapConfig.xml**:这是 iBATIS 的全局配置文件,包含数据库连接信息、事务管理设置、数据源配置等。通过这个文件,iBATIS 可以找到所有的映射文件并进行加载。 3. **SqlSession**:它是 iBATIS 中执行 SQL ...
根据提供的文件信息,本文将对...综上所述,ibatis框架通过XML配置文件中的SQL语句模板和参数化处理,极大地简化了数据库操作的过程,提高了代码的安全性和可维护性。以上就是对所提供的ibatis常用SQL语句的详细解析。
示例中的`struts.xml`包含了一个过滤器配置,用于设置字符编码,这有助于处理中文字符。 此外,还有一些额外的依赖库,如`commons-codec.jar`、`commons-fileupload-1.2.jar`和`commons-io-1.4.jar`,它们分别提供...
首先,`IBatis`的核心理念是通过XML或注解的方式定义SQL映射文件,将SQL语句与业务逻辑代码分离,提高了代码的可维护性和可读性。在`IBatisDao.java`中,我们可以看到对这些SQL操作进行了封装,以便于在项目中进行...
接口方法与XML文件中的SQL语句相对应,通过Spring的动态代理,调用接口方法即可执行对应的SQL。 7. **测试**:在Spring与iBatis整合后,可以使用Spring的`@Transactional`注解进行单元测试,确保每个方法都在独立的...
在项目"springweb1.ibatis"中,我们可以预期它已经配置了Spring和SpringMvc的上下文,包含了iBatis的配置以及User模块的相关实体类、Mapper接口和XML映射文件。项目的结构可能如下: 1. **src/main/java**:包含...
5. **配置Mapper接口**:在iBatis中,我们通常定义Mapper接口,然后编写对应的XML映射文件。Spring可以通过MapperScannerConfigurer扫描包下的所有Mapper接口,并自动将它们与XML映射文件关联。 ```xml ...