<sql id="sql_count"> select count(*) </sql>
<sql id="sql_select"> select * </sql>
<sql id="sql_where">
from icp
<dynamic prepend="where">
<isNotEmpty prepend="and" property="name">
name like '%$name$%'
</isNotEmpty>
<isNotEmpty prepend="and" property="area_id">
area_id = #area_id#
</isNotEmpty>
</dynamic>
<dynamic prepend="">
<!--这里相当于if的and条件判断了,也即start和size都不能为空-->
<isNotNull property="_start">
<isNotNull property="_size">
limit #_start#, #_size#
</isNotNull>
</isNotNull>
</dynamic>
</sql>
<select id="findByParamsForCount" parameterClass="map" resultClass="int">
<include refid="sql_count"/>
<include refid="sql_where"/>
</select>
<!--这个判断了not null 和空串 功能比not null 标签强大-->
<isNotEmpty prepend="and" property="_img_size_ge">
<![CDATA[
img_size >= #_img_size_ge#
]]>
<isEqual prepend="and" property="_exeable" compareValue="Y">
<![CDATA[
t.finished in ('10','19') and t.failure<3
]]>
</isEqual>
<isNotEmpty prepend="" property="exprogramcode">
<isNotEmpty prepend="" property="isRational">
<isEqual prepend="and" property="isRational" compareValue="N">
code not in
(select t.contentcode from cms_ccm_programcontent t where t.contenttype='MZNRLX_MA'
and t.programcode = #exprogramcode#)
</isEqual>
</isNotEmpty>
</isNotEmpty>
<select id="idtet" parameterClass="map" resultClass="java.util.HashMap"> <include refid="sql_select"/>
<include refid="sql_where"/>
</select>
<insert id="insert" parameterClass="RuleMaster">
insert into rulemaster( name, createtime, updatetime, remark ) values ( #name#, now(), now(), #remark# )
<selectKey keyProperty="id" resultClass="long">
select LAST_INSERT_ID()
</selectKey>
</insert>
相关推荐
5. **动态SQL**:iBATIS的一大亮点是其强大的动态SQL能力,可以实现条件查询、循环拼接SQL等复杂逻辑,无需编写大量Java代码。 6. **Mapper接口**:iBATIS 2.3版本引入了Mapper接口,将XML配置与Java代码更好地结合...
iBATIS-SqlMaps-2-快速入门教程 iBATIS-SqlMaps-2 是一个 Java 持久层框架,用于简化 Java 应用程序中的数据库交互。快速入门教程旨在帮助开发者快速了解 iBATIS-SqlMaps-2 的使用和配置。 知识点1:iBATIS-Sql...
标题 "ibatis UPDATE 动态XML与insert" 涉及到的是MyBatis框架中对数据库数据进行更新(UPDATE)和插入(INSERT)操作的动态XML配置方式。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,...
ibatis还支持动态SQL,允许根据不同的条件生成不同的SQL语句,这对于复杂的查询非常有用。 ##### 4.1 `if`标签 ```xml SELECT * FROM USERS != null"> AND name = #{name} ``` 这里使用`<if>`标签来...
4. **动态SQL**:Ibatis的动态SQL功能非常强大,可以在XML映射文件中通过`<if>`、`<choose>`、`<when>`、`<otherwise>`、`<where>`等标签实现条件判断,使得SQL语句更加灵活。 5. **参数映射**:Ibatis支持多种方式...
通过学习这个例子,你可以了解到如何配置iBatis,如何编写SQL映射文件,以及如何在Java代码中使用SqlSession和Mapper接口来执行SQL语句。这对于理解和掌握iBatis框架以及数据库操作具有实际指导意义。
2. **灵活的SQL编写**:与Hibernate不同,Ibatis允许开发者自由地编写SQL,可以根据需求调整查询语句,提高了查询的灵活性。 3. **映射机制**:通过XML配置或者注解,Ibatis可以将数据库的查询结果映射到Java对象,...
iBATIS是一个轻量级框架,它的核心功能是动态SQL映射,允许开发者编写SQL语句并将其封装到XML配置文件中,与Java或.NET代码分离。这样可以避免硬编码SQL,提高代码的可读性和可维护性。 在.NET中使用iBATIS时,首先...
标题:iBATIS-SqlMaps-2教程 描述:学习iBATIS的优秀资源 标签:iBATIS 从给定的文件标题、描述、标签和部分内容中,我们可以提炼出以下详细的知识点: ### 一、iBATIS-SqlMaps简介 iBATIS-SqlMaps是基于Java的...
标题 "ibatis2小例子(转)" 指向的是一个关于iBatis2的实战教程或示例,这是一套广泛使用的Java持久层框架,它提供了SQL映射功能,使得开发者能够方便地将数据库操作与业务逻辑相结合。在这个小例子中,可能会涉及...
此外,Ibatis的动态SQL功能使得在不写大量Java代码的情况下,可以灵活构建复杂的查询条件。比如,使用、、、等标签,可以根据条件动态生成SQL语句。在"ibatistest2"的示例中,这些动态SQL的运用无疑增加了教程的实用...
标题 "ibatis学习小例子" 暗示我们即将探讨的是关于Ibatis,一个轻量级的Java持久层框架,它允许开发者将SQL语句直接嵌入到Java代码中,从而简化了数据库操作。Ibatis提供了灵活的映射机制,避免了对JDBC的繁琐处理...
### ibatis_sql_map教程知识点详解 #### 一、引言 本教程旨在引导读者通过一个典型的应用场景了解和掌握ibatis SQL Maps框架的基本用法。ibatis SQL Maps是一款开源持久层框架,它允许开发者通过XML配置文件来实现...
- Ibatis支持动态SQL,可以在`Mapper.xml`文件中使用条件标签(`<if>`, `<where>`, `<choose>`, `<when>`, `<otherwise>`)编写灵活的SQL语句。 7. **结果映射**: - 结果映射允许将数据库查询结果自动映射到Java...
这个"ibatis简单例子"旨在帮助初学者理解Ibatis的基本用法,包括配置文件的设置、SQL映射文件的编写以及如何在Java代码中调用这些映射的SQL。通过实践这两个小例子,可以深入理解Ibatis如何将数据库操作与业务逻辑...
iBatis是一个轻量级的Java持久层框架,它提供了SQL映射框架,将SQL语句与Java代码分离,使得开发者能够更灵活地控制数据库操作。在这个“使用的iBatis简单例子”中,我们将深入探讨如何配置和使用iBatis进行数据库...
在标签中,"源码"意味着我们可以深入理解Ibatis的工作原理,通过阅读和分析代码,可以学习到如何将业务逻辑与数据库操作解耦,以及如何通过Ibatis动态执行SQL。"数据库"表明项目中必然包含与数据库相关的操作,如...
Ibatis的核心概念包括动态SQL、映射文件、SqlSession以及Mapper接口等,这些元素共同构建了一个灵活且易于维护的数据访问层。 **1. 动态SQL** Ibatis允许在映射文件或Mapper接口中编写动态SQL,这使得开发者可以...
实际上,Ibatis还支持动态SQL、结果映射、参数映射等多种高级特性,可以实现更复杂的业务逻辑。例如,你可以通过使用`<if>`、`<choose>`等标签来编写条件语句,通过`<resultMap>`来定义复杂的对象关系映射。 学习...
1. **动态SQL**:Ibatis.net支持在XML映射文件中编写动态SQL,这意味着你可以根据条件来构建不同的SQL语句,极大地提高了代码的可维护性和灵活性。 2. **参数映射**:通过和元素,Ibatis.net可以将.NET对象的属性值...