`

ibatis动态查询配置

阅读更多
动态查询条件
<select id="SelectEemployee" parameterClass="string" resultMap = "employee-result">
           select * from employee

//动态SQL语句

             <dynamic prepend="WHERE">

               <isParameterPresent>

                     emp_id = #value#

               </isParameterPresent>

             </dynamic>

       </select>



    </statements>



</sqlMap>    

/*动态SQL的写法:

开始 <dynamic

条件成立时前面要加的字符串 prepend ="字符串">

<属性关键字  (见下表)

prepend="字符串"

判断条件的对象属性名 property="字符串"

如果是属性关键字是比较条件时,字符串存放要比较的值compareValue="字符串">

要显示的条件名

</属性关键字>

结束</dynamic>



*/

/*动态SQL的参数有

属性关键字
含义

<isEqual>
如果参数相等于值则查询条件有效。

<isNotEqual>
如果参数不等于值则查询条件有效。

<isGreaterThan>
如果参数大于值则查询条件有效。

<isGreaterEqual>
如果参数等于值则查询条件有效。

<isLessEqual>
如果参数小于值则查询条件有效。如下所示:

<isLessEqual prepend = ”AND” property = ”age” compareValue = ”18” >

ADOLESCENT = ‘TRUE’

</isLessEqual>

<isPropertyAvailable>
如果参数有使用则查询条件有效。

<isNotPropertyAvailable>
如果参数没有使用则查询条件有效。

<isNull>
如果参数为NULL则查询条件有效。

<isNotNull>
如果参数不为NULL则查询条件有效。

<isEmpty>
如果参数为空则查询条件有效。

<isNotEmpty>
如果参数不为空则查询条件有效。参数的数据类型为Collection、String 时参数不为NULL或“”。如下所示:

<isNotEmpty prepend=”AND” property=”firstName” >

FIRST_NAME=#firstName#

</isNotEmpty>

<isParameterPresent>
如果参数类不为NULL则查询条件有效。

<isNotParameterPresent>
Checks to see if the parameter object is not present (null). Example Usage:

<isNotParameterPresent prepend=”AND”>

EMPLOYEE_TYPE = ‘DEFAULT’

</isNotParameterPresent>




eg1:

<select id="getList" resultMap="FriendResult">
      select f.userid1,f.userid2,f.state1,f.subdate,f.cardno,b.grade,f.nickname,f.gender,f.age,f.city,b.username,b.userid,b.city,b.state,b.gender,b.cardno,d.*  from friend f  ,basicuserinfo b,detailuserinfo d where  b.userid = f.userid2 and f.userid2=d.userid and f.state1=#state1#
    <dynamic prepend="and">
        <isNotEqual prepend="and" property="userid1" comparevalue="0">
            f.userid1=#userid1#
        </isNotEqual>
        <isNotEqual prepend="and" property="userid2" comparevalue="0">
            f.userid2=#userid2#
        </isNotEqual>

    </dynamic>
  </select>


eg2:

<select id="getNewsList" resultMap="newsResult" parameterClass="map">
  select NEWS_ID,BLOCK_ID,NEWS_TITLE,NEWS_CONTENT,NEWS_SECONDTITLE,NEWS_SUMMARY,NEWS_AUTHOR,NEWS_SOURCE,NEWS_ANNEX,NEWS_TIME,NEWS_OPEN,NEWS_KEYWORDS,NEWS_APPROVE,ISTOP,BROWSENUM,NEWS_COMMENT,NEWS_REFUSE,NEWS_AUDITOR,lasteditor,prjid,prjname,wsflag,MEM_NAME,LASTEDITTIME,ISBLOCKPIC from yc_news where BLOCK_ID = #blockid#
  <dynamic prepend="ORDER BY">
   <isNotEmpty property="orderstr">
    $orderstr$
   </isNotEmpty>
  </dynamic>
</select>


分享到:
评论

相关推荐

    动态ibatis查询语句配置

    动态查询语句配置是Ibatis的一个重要特性,它允许我们在运行时根据业务需求构建灵活多变的SQL语句。这篇博文主要探讨的是如何在Ibatis中设置和使用动态SQL,以便实现更高效、更灵活的数据查询。 首先,我们需要理解...

    ibatis用xml配置文件配置使用

    7. **动态SQL**:iBATIS提供强大的动态SQL功能,例如`&lt;if&gt;`, `&lt;choose&gt;`, `&lt;when&gt;`, `&lt;otherwise&gt;`, `&lt;where&gt;`, `&lt;set&gt;`等标签,可以根据条件动态生成SQL。这使得你的映射文件更加灵活,减少了代码重复。 通过上述...

    spring+ibatis事务的配置

    很好的spring+ibatis事务的配置文档.

    Spring+ibatis 保留ibatis事务的配置

    ibatis配置文件中,可以看到关于ibatis事务管理器的配置。这里设置事务管理器类型为JDBC,表示ibatis将直接使用底层的JDBC连接进行事务控制,而不是使用Spring提供的事务管理器。 ```xml ``` ...

    IBatis.net 配置各种数据库

    《IBatis.net 配置各种数据库详解》 在软件开发中,数据库的连接与操作是不可或缺的一环。IBatis.net,作为一个轻量级的持久层框架,为开发者提供了灵活的数据映射功能,使得数据库操作变得更为简单。本文将详细...

    ibatis 中sqlMap配置

    命名空间是iBatis配置中的一个重要概念,它用于区分不同的SQL映射文件。例如,`&lt;sqlMap namespace="Account"&gt;`,在这个命名空间内定义的所有SQL语句和其他元素都属于Account模块。如果要在其他地方引用这个命名空间...

    ibatis UPDATE 动态XML与insert

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

    ibatis 配置文件详解

    ### ibatis配置文件详解 #### 一、ibatis概述 ibatis,又称MyBatis,是一种优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。ibatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。ibatis可以...

    常用ibatis配置

    iBatis配置允许使用动态SQL标签来根据Java对象的属性生成日期范围查询条件,如文档中所示的日期范围查询。 通过上述知识点,我们可以了解到iBatis框架在配置和使用时如何帮助开发者实现数据的插入、查询、更新和...

    ibatis多表查询

    `sqlMapConfig.xml`文件是Ibatis的全局配置,它引用了`book.xml`,并设置了一些Ibatis的配置选项,如缓存和动态代理的启用。 综上所述,Ibatis通过配置文件和Pojo类实现了`book`和`user`之间的多表查询。在运行时,...

    Ibatis的应用和配置

    一、Ibatis配置文件 Ibatis的主要配置文件是`mybatis-config.xml`,它是整个系统的全局配置文件。这个文件中包含了数据源、事务管理器、环境配置、Mappers等重要元素的定义。例如: ```xml ...

    IBatis完成单表基本的数据库操作 模糊查询

    iBatis还支持动态SQL,使得在XML映射文件中构建复杂的查询变得非常灵活。比如,你可以根据参数是否为空来决定是否包含某个条件,这在处理模糊查询时尤其有用。 标签"源码"和"工具"暗示了这篇博客可能深入讲解了...

    iBatis条件查询

    iBatis是一个轻量级的Java持久层框架,它与Hibernate相比,更加灵活,适合于对数据库...通过学习和实践,你可以掌握如何利用iBatis编写动态SQL,处理查询条件,以及如何进行分页查询,这些都是在开发中非常实用的技能。

    SPRING IBATIS 保留IBATIS事务的配置方式

    -- 通过文件路径指定iBatis配置文件 --&gt; &lt;value&gt;/WEB-INF/SqlMapConfig.xml ``` #### iBatis事务管理配置 最值得关注的部分是iBatis的事务管理配置,这里明确指定了事务管理器的类型为`JDBC`,并且定义了...

    ibatis配置文件信息

    ### ibatis配置文件信息 #### 一、简介 在Java开发领域中,ibatis(现称为MyBatis)是一款优秀的持久层框架,它通过XML或注解的方式将接口方法与SQL语句绑定起来,实现对象关系映射(ORM)功能。ibatis的主要优势...

    ibatis 实例 配置 源码

    ibatis 实例 配置 源码 依赖包 ibatis-2.3.4.726.jar commons-logging-api.jar commons-logging-1.1.jar commons-dbcp-1.2.2.jar commons-pool.jar

    ibatis总配置和映射配置.txt

    此文本主要是关于ibatis总配置和映射配置和一些需要主要的细节。

    操作数据库 iBATIS查询

    #### 二、iBATIS配置文件详解 iBATIS的配置文件主要通过XML格式来定义,其中包含了全局设置、事务管理器、数据源等关键组件的配置。 ##### 2.1 配置文件结构 ```xml &lt;!DOCTYPE sqlMapConfig PUBLIC "-//ibatis....

Global site tag (gtag.js) - Google Analytics