`
yizhilong28
  • 浏览: 233177 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

ibatis 动态sql(Dynamic SQL)

阅读更多
  springside2allOne中ibatis只用几个孤零的ibatis的dao封装,没看到什么demo。
  官网http://wiki.springside.org.cn/display/springside/iBatis的说明也很简略。在Springside中使用ibatis,参考这里,http://leondu.iteye.com/blog/54694。
  IBatisGenericDao中get、getall明显公用一个statement,因此sql是动态的,参考
http://ibatis.apache.org/docs/dotnet/datamapper/ch03s09.html
   个人ibatis配置如下
 
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMapConfig  PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"        
    "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>	
	<settings 
		cacheModelsEnabled="true" 
		enhancementEnabled="true" 
		lazyLoadingEnabled="true" 
		errorTracingEnabled="true" 
		maxRequests="32" 
		maxSessions="10" 
		maxTransactions="5" 
		useStatementNamespaces="true" 
	/> 
	<sqlMap resource="com/jake/ibatis/conf/attraction-ibatis.xml" />

</sqlMapConfig>
  


 
<?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="com.jake.model.Attraction">

	<!-- Use type aliases to avoid typing the full classname every time. -->
	<typeAlias alias="Attraction" type="com.jake.model.Attraction" />
  
	<!-- Select with no parameters using the result map for Account class. -->
	<select id="select" resultClass="Attraction" parameterClass="int">
		select * from Attraction 
		 <isGreaterThan   compareValue="0">
       			where id = #id#
   		</isGreaterThan>
	</select>

<!-- 
	<select id="com.jake.model.Attraction.select" resultClass="Attraction" parameterClass="int">
		select * from Attraction where id=#id#
	</select>
 -->
 
	<insert id="insert" parameterClass="Attraction">
		insert into Attraction(id,name,description) values ( #id#,#name#,#description# )
	</insert>

	<update id="update" parameterClass="Attraction">
		update Attraction set name = #name#,description=#description#
		where id=#id#
	</update>

	<delete id="delete" parameterClass="int">
		delete from Attraction where id=#id#
	</delete>
	
	<select id="load" resultClass="Attraction" parameterClass="int">
		select * from Attraction where id=#id#
	</select>

</sqlMap>

  

 
分享到:
评论

相关推荐

    ibatis动态SQL标签用法

    iBatis动态SQL标签用法 iBatis是Java持久层框架,提供了动态SQL标签来实现动态查询。动态SQL标签可以根据不同的条件生成不同的SQL语句,从而提高查询效率和灵活性。 动态SQL片段 iBatis提供了动态SQL片段的功能,...

    ibatis的dynamicSQL中,关于prepend的使用

    在探讨ibatis中的动态SQL(Dynamic SQL)及`prepend`的使用时,我们首先需要对ibatis有一个基本的理解。ibatis是一种开源的数据访问层框架,它简化了Java应用程序与数据库之间的交互过程。通过使用XML配置文件来定义...

    iBATIS动态标签

    `&lt;dynamic&gt;`标签是iBATIS动态标签的核心,它允许在其内部包含一系列的条件标签,根据不同的条件来决定哪些部分应该被插入到最终的SQL语句中。`&lt;dynamic&gt;`标签有三个主要属性: 1. `prepend`: 在动态内容前添加的字符...

    iBATIS-SqlMaps-2_cn.pdf

    6. **Dynamic SQL**:允许在XML映射文件中进行条件判断,动态生成SQL语句,提高了SQL的灵活性和复用性。 7. **Transactions**:SQL Maps支持声明式和编程式的事务管理,确保数据的一致性和完整性。 通过使用iBATIS...

    ibatis常用sql语句

    iBATIS的核心功能在于其强大的SQL映射能力和动态SQL生成机制,这使得开发人员能够灵活地处理复杂的数据库交互需求。 ### 输入参数为单个值 在iBATIS中,当输入参数为单个值时,如示例中的`long`类型,可以使用`...

    Ibatis常用sql语句

    根据给定的文件信息,以下是对“Ibatis常用...Ibatis通过其动态SQL标签如`iterate`, `isNotNull`, `dynamic`等提供了极高的灵活性,能够有效应对复杂多变的业务需求。掌握这些基本用法对于提升Ibatis开发效率至关重要。

    ibatis动态注入

    iBATIS,作为一款优秀的持久层框架,提供了强大的动态SQL功能,解决了直接使用JDBC时编写复杂动态SQL的难题。本文将深入探讨iBATIS动态注入的相关知识点。 iBATIS动态SQL主要通过XML映射文件中的特定标签实现,允许...

    ibatis_3.0_Dynamic_Sql_设计解析

    ibatis,ibatis,ibatis,ibatis,ibatis

    ibatis 动态代理dtd

    根据提供的文件信息,我们可以深入探讨ibatis框架中的动态SQL元素及其使用方法。下面将详细介绍标题、描述以及部分内容中涉及的关键知识点。 ### ibatis 动态代理DTD #### 标题解释 - **ibatis**: 是一个开源的...

    IBATIS动态查询语句.doc

    在IT领域的数据库操作中,IBATIS框架提供了一种强大且灵活的方式来进行SQL查询,尤其在动态查询方面表现得尤为突出。本文将深入探讨IBATIS动态查询语句的运用,解析其背后的逻辑与机制,以及如何利用这些特性来增强...

    iBATIS SQL Maps

    5. **Dynamic SQL**:iBATIS的动态SQL功能使得开发者能够在运行时根据条件构造SQL,避免了大量冗余的SQL语句,提高了代码的复用性。 6. **Transaction Management**:iBATIS支持JDBC和Spring两种事务管理方式,可以...

    ibatis dynamic 用法

    Dynamic SQL 功能是 ibatis 中的一项重要特性,允许开发者根据运行时的条件动态构建 SQL 语句。本文将详细介绍 ibatis 中 Dynamic SQL 的使用方法,特别关注 `&lt;dynamic&gt;` 标签及其相关的子标签。 #### 二、Dynamic ...

    ibatis_动态查询条件

    在 iBatis 中,动态查询条件是通过 `&lt;dynamic&gt;` 元素来实现的,该元素可以根据参数的值来生成不同的 SQL 语句。 在 iBatis 中,参数可以是基本类型、字符串、集合等,它们可以通过 `#` symbols 来传递给 SQL 语句。...

    ibatis

    "ibatis in action" 暗示这可能是一本关于如何有效使用iBATIS的实战指南,通常这类书籍会深入讲解框架的各个方面,包括安装配置、基本概念、映射文件、事务管理、动态SQL以及最佳实践等。 标签 "教程" 指出这是一个...

    IBATIS SQL Maps 入门教程.pdf

    这篇入门教程将引导初学者深入理解Ibatis的核心概念,包括SQL Map配置、动态SQL、事务管理以及与Spring框架的整合。 **1. SQL Map配置** SQL Map是Ibatis中的核心组件,它定义了数据库操作与Java对象之间的映射关系...

    ibatis16个常用sql语句

    iBatis 16个常用SQL语句 iBatis是一个基于Java的持久层框架,提供了一个简洁的方式来访问和操作数据库。在iBatis中,SQL语句是通过XML文件来配置的。下面是16个常用的iBatis SQL语句,涵盖了基本的CRUD(Create、...

    ibatis2.X升级mybatis3.X之曲径通幽处

    动态SQL是Ibatis的一大亮点,但在3.x中,动态SQL表达式变得更加强大,可以更好地处理复杂的查询条件。例如,`&lt;if&gt;`、`&lt;choose&gt;`、`&lt;when&gt;`、`&lt;otherwise&gt;`等标签的使用,让SQL语句可以根据条件动态生成,提高了代码...

    ibatis中使用安全的拼接语句,动态查询,大于、小于、等于.doc

    例如,在上面的示例代码中,我们使用 `&lt;dynamic&gt;` 元素来定义动态 SQL 语句,在其中使用 `&lt;isNotNull&gt;`、`&lt;isGreaterThan&gt;`、`&lt;isLessThan&gt;` 等元素来构建条件语句。 这些元素可以根据参数的值动态地生成 SQL 语句...

Global site tag (gtag.js) - Google Analytics