`
三打哈得死
  • 浏览: 38884 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

ibatisand和or联合查询

阅读更多

最近遇到拼接ibatis中的sql语句的问题,想要得到的sql如下形式:

select * from table where xxx = "xxx" and (xxx="xxx" or xx1="xx1")

开始对于括号怎么加也确实不太明白,后面参考别人的博客

http://lyfei022.blog.163.com/blog/static/82558312009313104138320/才改正确

 

<select id="condition">

        <![CDATA[

select * from table where 1=1

]]>


        <dynamic prepend="and">
      <isNotEmpty prepend="and" property="starttime">
       <![CDATA[    starttime >= #starttime# ]]>
      </isNotEmpty>
      <isNotEmpty prepend="and" property="endtime">
       <![CDATA[    starttime <= #endtime# ]]>
      </isNotEmpty>
      <isNotEmpty prepend="and" property="rentcompany">
       <![CDATA[    rentcompany like '%$rentcompany$%' ]]>
      </isNotEmpty>
     </dynamic>
     <dynamic prepend="and" open="(" close=")">
      <isNotNull prepend="or" property="bilkcar">
       <![CDATA[    bilkcar = 1 ]]>
      </isNotNull>
      <isNotNull prepend="or" property="guarantycar">
       <![CDATA[    guarantycar = 1 ]]>
      </isNotNull>
      <isNotNull prepend="or" property="filchpart">
       <![CDATA[    filchpart = 1 ]]>
      </isNotNull>
      <isNotNull prepend="or" property="causetrouble">
       <![CDATA[    causetrouble = 1 ]]>
      </isNotNull>
      <isNotNull prepend="or" property="nohandle">
       <![CDATA[    nohandle = 1 ]]>
      </isNotNull>
      <isNotNull prepend="or" property="inarrears">
       <![CDATA[    inarrears = 1 ]]>
      </isNotNull>
     </dynamic>
    </select>

 

<dynamic prepend="and">这个and不能少

分享到:
评论

相关推荐

    ibatis and和or联合查询 .doc

    ### ibatis and和or联合查询知识点 #### 一、ibatis简介 ibatis是一个支持普通SQL查询、存储过程以及高级映射的优秀开源数据访问框架。ibatis消除了几乎所有的JDBC对象操作,提供了一个简单的基本API,它通过XML或...

    Ibatis的简单例子(增删改查,联合查询等)

    Ibatis支持嵌套查询和联合查询。在XML映射文件中,你可以使用标签或在标签内直接编写JOIN语句,以实现多个表的数据联合查询。记得在Mapper接口中定义对应的方法。 6. **Service层和DAO层**: 在实际项目中,我们...

    Ibatis查询语句里,可以使用多表查询

    ### iBatis 多表查询知识点详解 #### 一、iBatis简介 iBatis 是一款优秀的持久层框架,它将 SQL 映射到 Java 对象,简化了 JDBC 编程过程中的繁琐操作,提高了开发效率。iBatis 的核心功能包括 SQL 映射、动态 SQL...

    ibatis动态多条件组合查询

    ibatis动态多条件组合查询 实例 说明

    ibatis多表查询

    在这个例子中,我们将探讨如何使用Ibatis进行一对多的多表查询,以`book`和`user`两个表为例。 首先,我们有两个表:`book`和`user`。`book`表存储书籍信息,包含`oid`(主键)和`name`字段。`user`表存储用户信息,...

    操作数据库 iBATIS查询

    ### 操作数据库iBATIS查询详解 #### 一、iBATIS中的LIKE查询技巧 iBATIS是一款优秀的Java持久层框架,它简化了基于SQL的程序编写,避免了程序员手动处理结果集和手工编写SQL语句。在进行数据库查询时,LIKE查询是...

    Ibatis多表查询

    在多表查询中,Ibatis 提供了多种方式来处理复杂的关联查询,包括一对一、一对多、多对一和多对多等关系。在这个例子中,我们将探讨如何在 Ibatis 中实现一对多的关系查询。 首先,我们创建了两个表:`book` 和 `...

    Ibatis复杂查询语句.doc

    - 使用`AND`和`OR`操作符来组合多个条件,例如,`&lt;isNotEmpty prepend="AND" property="dismissStatusList"&gt;...`,如果`dismissStatusList`非空,会添加额外的`AND`条件。 6. **参数映射**: - `parameterClass`...

    ibatis下oracle树查询

    在本话题中,我们将探讨如何在使用iBatis框架与Oracle数据库时实现树形查询。 首先,iBatis是一个优秀的持久层框架,它允许开发者将SQL语句直接写在XML配置文件或者注解中,提供了比传统JDBC更高级的抽象层,使得...

    myBatis or ibatis 神器

    标题中的“myBatis or ibatis 神器”指的是两个知名的Java持久层框架——myBatis和iBatis。这两个框架在Java开发中扮演着重要角色,它们简化了数据库操作,让开发者能够更加专注于业务逻辑,而不是底层的SQL查询。 ...

    ibatis_动态查询条件

    iBatis 动态查询条件详解 iBatis 是一个基于 Java 的持久层框架,它提供了动态查询条件的功能,可以根据不同的条件生成不同的 SQL 语句。在 iBatis 中,动态查询条件是通过 `&lt;dynamic&gt;` 元素来实现的,该元素可以...

    动态ibatis查询语句配置

    这篇博文主要探讨的是如何在Ibatis中设置和使用动态SQL,以便实现更高效、更灵活的数据查询。 首先,我们需要理解Ibatis动态SQL的基本概念。在Ibatis的XML映射文件中,我们可以通过条件标签来构建动态SQL。这些标签...

    ibatis的动态查询

    **知识点1:** 在进行模糊查询时,ibatis支持两种不同的语法标记:`#` 和 `$`。 1. **使用 `$value$` 进行模糊查询:** - 在进行模糊查询时,使用 `$value$` 的方式更为安全且易于实现。 - 正确的语法应为 `name ...

    Ibatis查询Id列表.doc

    根据提供的文档信息,我们可以深入探讨Ibatis框架中的一个具体应用场景:如何通过动态SQL查询特定条件下的ID列表。本文将从以下几个方面进行详细解析: ### 一、Ibatis简介 Ibatis是一个基于Java的持久层框架,它...

    iBatis条件查询

    此外,资源中的"按条件查询三国数据库"可能包含了一个基于三国历史数据的示例,这有助于开发者更好地理解和实践iBatis的条件查询功能。通过这样的例子,你可以看到如何在实际数据库模型上应用iBatis,比如如何处理...

    主子表查询ibatis

    总结,主子表查询在iBATIS中通过配置XML映射文件,结合Java代码和SQL脚本实现。log4j作为日志管理工具,可以帮助开发者更好地查看和分析查询结果。理解这些概念并熟练应用,对于进行复杂数据库操作的Java开发工作至...

    ibatis的多参数查询.doc

    ### ibatis多参数查询解析 #### 一、引言 在使用ibatis(现称为MyBatis)进行数据库操作时,经常会遇到需要处理多个输入参数的情况。然而,默认情况下ibatis只支持单个输入参数,这在实际开发中往往难以满足需求。...

    ibatis多表查询过程

    在Spring框架中,可以使用`@Autowired`注解将SqlSessionTemplate或SqlSessionFactory注入到服务层,方便进行iBatis的事务管理和查询操作。 ### 11. 示例 以下是一个多表查询的XML映射文件示例: ```xml SELECT *...

    ibatis做连接查询 .doc

    iBatis并不是像Hibernate那样完全自动管理数据库操作,而是将SQL语句的编写权交给开发者,这样可以更好地控制查询性能和复杂性。在进行连接查询时,iBatis允许我们在Mapper XML文件中编写自定义的JOIN语句,或者通过...

Global site tag (gtag.js) - Google Analytics