`
左手边
  • 浏览: 96627 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Ibatis中xml文件的常用配置

 
阅读更多

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文件操作例子

    在这个"Struts+Spring+iBATIS做的XML文件操作例子"中,我们将深入探讨这三个框架如何协同工作以及XML文件在其中的作用。 Struts 是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,它主要用于控制...

    ibatis配置文件、映射文件详解

    在ibatis框架中,`sqlMapConfig.xml`是一个非常重要的配置文件,它主要用于设置ibatis的全局配置信息,包括数据库连接信息、环境配置以及其它运行时参数等。下面将对这个文件中的关键元素进行详细的解析。 ##### ...

    mysql数据库自动生成对应的java实体类和ibatis配置文件

    它会根据配置文件中的设置,连接到MySQL数据库,读取表结构,并自动创建对应的Java实体类和iBatis配置文件。 5. **整合到项目**: 将生成的Java文件和XML文件引入到你的项目中,然后就可以在代码中直接使用这些实体...

    struts+ ibatis上传下载文件

    iBatis通过XML配置文件(sql-map.xml)定义SQL语句,然后在Java代码中调用SqlMapClient接口执行这些语句。这使得数据库操作更易于维护和扩展。 5. **分页功能**:描述中提到有分页功能,这通常涉及到前端展示和后端...

    spring+struts+ibatis用到的配置文件模板

    iBatis是一个SQL映射框架,它允许开发者将SQL语句直接写在XML配置文件中,以简化数据库操作。`sqlmapconfig.xml`的主要内容包括: 1. `&lt;configuration&gt;`:配置文件的根元素,包含全局配置和数据源设置。 2. `...

    iBatis资料 语法

    `一个简单的ibatis示例.doc`是一个基础的iBatis应用示例,通常会展示如何创建SqlMapConfig.xml配置文件,定义SQL映射文件,以及在Java代码中如何使用SqlSession进行数据库操作。通过这个例子,你可以了解到iBatis的...

    常用ibatis配置

    标题中提到的“常用ibatis配置”指的是在使用iBatis这一数据持久层框架中,常见的配置用法和技术点。iBatis(现称为MyBatis)是一个流行的Java持久层框架,它通过使用XML或注解的方式,将SQL语句与对象进行映射,...

    ibatis调用oracle的函数,存储过程的方法

    在Oracle数据库中,函数和存储过程是两种常用的PL/SQL编程元素,它们允许开发者封装复杂的逻辑,以便在数据库层面上执行。Ibatis,一个轻量级的Java持久层框架,提供了与数据库交互的能力,包括调用这些Oracle的函数...

    Ibatis 入门经典 实例

    2. 配置文件:创建 `mybatis-config.xml`,配置数据源、事务管理器等核心设置。 3. 映射文件:创建 SQL 映射文件,如 `UserMapper.xml`,用于编写 SQL 语句。 三、Ibatis 基本使用 1. 创建 Mapper 接口:定义对应...

    ibatis-api中文(真的中文)

    通过XML配置文件,你可以声明SQL语句、参数和结果集映射,使得业务逻辑层可以以声明式的方式执行数据库操作。这个文档将解释如何创建和配置SQL Map文件,以及如何在Java代码中调用它们。 其次,`iBATIS-DAO-2_en....

    struts2_spring_ibatis根据模板文件导出Excel

    在这个项目中,ssi-web很可能是项目的Web应用目录,包含了Struts2的配置文件(struts.xml)、Spring的配置文件(如applicationContext.xml)、iBatis的配置文件(mybatis-config.xml)以及相关的Action类、Service类...

    ibatis实现数据的操作

    本篇文章将详细讲解如何利用Ibatis实现数据的连接、增加、查询、删除和修改(CRUD)操作,以及.xml文件在SQL映射中的作用。 首先,Ibatis是一个轻量级的Java ORM(对象关系映射)框架,它的核心理念是将SQL语句与...

    ibatis16个常用sql语句

    在iBatis中,SQL语句是通过XML文件来配置的。下面是16个常用的iBatis SQL语句,涵盖了基本的CRUD(Create、Read、Update、Delete)操作。 1. 删除语句 在iBatis中,删除语句可以使用`&lt;delete&gt;`元素。例如: ```xml...

    ibatis 入门

    2. **SqlMapConfig.xml**:这是 iBATIS 的全局配置文件,包含数据库连接信息、事务管理设置、数据源配置等。通过这个文件,iBATIS 可以找到所有的映射文件并进行加载。 3. **SqlSession**:它是 iBATIS 中执行 SQL ...

    ibatis常用的sql

    根据提供的文件信息,本文将对...综上所述,ibatis框架通过XML配置文件中的SQL语句模板和参数化处理,极大地简化了数据库操作的过程,提高了代码的安全性和可维护性。以上就是对所提供的ibatis常用SQL语句的详细解析。

    Struts2+Spring+Ibatis环境配置.doc

    示例中的`struts.xml`包含了一个过滤器配置,用于设置字符编码,这有助于处理中文字符。 此外,还有一些额外的依赖库,如`commons-codec.jar`、`commons-fileupload-1.2.jar`和`commons-io-1.4.jar`,它们分别提供...

    IBatis常用操作封装

    首先,`IBatis`的核心理念是通过XML或注解的方式定义SQL映射文件,将SQL语句与业务逻辑代码分离,提高了代码的可维护性和可读性。在`IBatisDao.java`中,我们可以看到对这些SQL操作进行了封装,以便于在项目中进行...

    spring3.2与Ibatis整合

    接口方法与XML文件中的SQL语句相对应,通过Spring的动态代理,调用接口方法即可执行对应的SQL。 7. **测试**:在Spring与iBatis整合后,可以使用Spring的`@Transactional`注解进行单元测试,确保每个方法都在独立的...

    SpringMvc+ibatis框架

    在项目"springweb1.ibatis"中,我们可以预期它已经配置了Spring和SpringMvc的上下文,包含了iBatis的配置以及User模块的相关实体类、Mapper接口和XML映射文件。项目的结构可能如下: 1. **src/main/java**:包含...

    spring ibatis 配置(包括事务管理)

    5. **配置Mapper接口**:在iBatis中,我们通常定义Mapper接口,然后编写对应的XML映射文件。Spring可以通过MapperScannerConfigurer扫描包下的所有Mapper接口,并自动将它们与XML映射文件关联。 ```xml ...

Global site tag (gtag.js) - Google Analytics