`
zengshaotao
  • 浏览: 787249 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ibatis动态sql例子

 
阅读更多

<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>

 

分享到:
评论

相关推荐

    iBATIS-SqlMaps-中文教程

    5. **动态SQL**:iBATIS的一大亮点是其强大的动态SQL能力,可以实现条件查询、循环拼接SQL等复杂逻辑,无需编写大量Java代码。 6. **Mapper接口**:iBATIS 2.3版本引入了Mapper接口,将XML配置与Java代码更好地结合...

    iBATIS-SqlMaps-2-快速入门教程.docx

    iBATIS-SqlMaps-2-快速入门教程 iBATIS-SqlMaps-2 是一个 Java 持久层框架,用于简化 Java 应用程序中的数据库交互。快速入门教程旨在帮助开发者快速了解 iBATIS-SqlMaps-2 的使用和配置。 知识点1:iBATIS-Sql...

    ibatis UPDATE 动态XML与insert

    标题 "ibatis UPDATE 动态XML与insert" 涉及到的是MyBatis框架中对数据库数据进行更新(UPDATE)和插入(INSERT)操作的动态XML配置方式。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,...

    ibatis sql 语句的编写

    ibatis还支持动态SQL,允许根据不同的条件生成不同的SQL语句,这对于复杂的查询非常有用。 ##### 4.1 `if`标签 ```xml SELECT * FROM USERS != null"&gt; AND name = #{name} ``` 这里使用`&lt;if&gt;`标签来...

    ibatis demo,ibatis例子,ibatis示例

    4. **动态SQL**:Ibatis的动态SQL功能非常强大,可以在XML映射文件中通过`&lt;if&gt;`、`&lt;choose&gt;`、`&lt;when&gt;`、`&lt;otherwise&gt;`、`&lt;where&gt;`等标签实现条件判断,使得SQL语句更加灵活。 5. **参数映射**:Ibatis支持多种方式...

    ibatis2.3例子代码

    通过学习这个例子,你可以了解到如何配置iBatis,如何编写SQL映射文件,以及如何在Java代码中使用SqlSession和Mapper接口来执行SQL语句。这对于理解和掌握iBatis框架以及数据库操作具有实际指导意义。

    ibatis简单CRUD例子

    2. **灵活的SQL编写**:与Hibernate不同,Ibatis允许开发者自由地编写SQL,可以根据需求调整查询语句,提高了查询的灵活性。 3. **映射机制**:通过XML配置或者注解,Ibatis可以将数据库的查询结果映射到Java对象,...

    .net中使用iBATIS的小例子

    iBATIS是一个轻量级框架,它的核心功能是动态SQL映射,允许开发者编写SQL语句并将其封装到XML配置文件中,与Java或.NET代码分离。这样可以避免硬编码SQL,提高代码的可读性和可维护性。 在.NET中使用iBATIS时,首先...

    iBATIS-SqlMaps-2-Tutorial

    标题:iBATIS-SqlMaps-2教程 描述:学习iBATIS的优秀资源 标签:iBATIS 从给定的文件标题、描述、标签和部分内容中,我们可以提炼出以下详细的知识点: ### 一、iBATIS-SqlMaps简介 iBATIS-SqlMaps是基于Java的...

    ibatis2小例子(转)

    标题 "ibatis2小例子(转)" 指向的是一个关于iBatis2的实战教程或示例,这是一套广泛使用的Java持久层框架,它提供了SQL映射功能,使得开发者能够方便地将数据库操作与业务逻辑相结合。在这个小例子中,可能会涉及...

    ibatis学习完整实例,例子

    此外,Ibatis的动态SQL功能使得在不写大量Java代码的情况下,可以灵活构建复杂的查询条件。比如,使用、、、等标签,可以根据条件动态生成SQL语句。在"ibatistest2"的示例中,这些动态SQL的运用无疑增加了教程的实用...

    ibatis学习小例子

    标题 "ibatis学习小例子" 暗示我们即将探讨的是关于Ibatis,一个轻量级的Java持久层框架,它允许开发者将SQL语句直接嵌入到Java代码中,从而简化了数据库操作。Ibatis提供了灵活的映射机制,避免了对JDBC的繁琐处理...

    ibatis_sql_map教程

    ### ibatis_sql_map教程知识点详解 #### 一、引言 本教程旨在引导读者通过一个典型的应用场景了解和掌握ibatis SQL Maps框架的基本用法。ibatis SQL Maps是一款开源持久层框架,它允许开发者通过XML配置文件来实现...

    一个Ibatis的详细例子

    - Ibatis支持动态SQL,可以在`Mapper.xml`文件中使用条件标签(`&lt;if&gt;`, `&lt;where&gt;`, `&lt;choose&gt;`, `&lt;when&gt;`, `&lt;otherwise&gt;`)编写灵活的SQL语句。 7. **结果映射**: - 结果映射允许将数据库查询结果自动映射到Java...

    ibatis简单例子

    这个"ibatis简单例子"旨在帮助初学者理解Ibatis的基本用法,包括配置文件的设置、SQL映射文件的编写以及如何在Java代码中调用这些映射的SQL。通过实践这两个小例子,可以深入理解Ibatis如何将数据库操作与业务逻辑...

    使用的iBatis 简单例子

    iBatis是一个轻量级的Java持久层框架,它提供了SQL映射框架,将SQL语句与Java代码分离,使得开发者能够更灵活地控制数据库操作。在这个“使用的iBatis简单例子”中,我们将深入探讨如何配置和使用iBatis进行数据库...

    ibatis的程序例子代码

    在标签中,"源码"意味着我们可以深入理解Ibatis的工作原理,通过阅读和分析代码,可以学习到如何将业务逻辑与数据库操作解耦,以及如何通过Ibatis动态执行SQL。"数据库"表明项目中必然包含与数据库相关的操作,如...

    ibatis 入门的例子

    Ibatis的核心概念包括动态SQL、映射文件、SqlSession以及Mapper接口等,这些元素共同构建了一个灵活且易于维护的数据访问层。 **1. 动态SQL** Ibatis允许在映射文件或Mapper接口中编写动态SQL,这使得开发者可以...

    Ibatis入门例子,Ibatis教程

    实际上,Ibatis还支持动态SQL、结果映射、参数映射等多种高级特性,可以实现更复杂的业务逻辑。例如,你可以通过使用`&lt;if&gt;`、`&lt;choose&gt;`等标签来编写条件语句,通过`&lt;resultMap&gt;`来定义复杂的对象关系映射。 学习...

    Ibatis.net学习例子以及使用教程书

    1. **动态SQL**:Ibatis.net支持在XML映射文件中编写动态SQL,这意味着你可以根据条件来构建不同的SQL语句,极大地提高了代码的可维护性和灵活性。 2. **参数映射**:通过和元素,Ibatis.net可以将.NET对象的属性值...

Global site tag (gtag.js) - Google Analytics