`
iluoxuan
  • 浏览: 580365 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ibatis动态多条件查询及更新条件写法

 
阅读更多

1:

在iBATIS中isNull用于判断参数是否为Null,isNotNull相反

 

isEmpty判断参数是否为Null或者空,满足其中一个条件则其true
isNotEmpty相反,当参数既不为Null也不为空是其为true

 判断之后做相对应的表达式操作

2:用isNotNull估计老有问题,Stirng类型最后用isNotEmpty

 <dynamic prepend="where">
      <isNotNull prepend=" and " property="id">U.ID = #id:INTEGER#</isNotNull>
      <isNotNull prepend=" and " property="deptId">U.DEPT_ID = #deptId:INTEGER#</isNotNull>
      <isNotEmpty prepend=" and " property="email">U.EMAIL = #email:VARCHAR#</isNotEmpty>
      <isNotEmpty prepend=" and " property="name">U.NAME = #name:VARCHAR#</isNotEmpty>
</dynamic>

 3:

更新的动态写法

<update id="update" parameterClass="UserCriteriaTO">
    update USER 
    <dynamic prepend="set">
      <isNotNull prepend="," property="deptId">DEPT_ID = #deptId:INTEGER#</isNotNull>
      <isNotNull prepend="," property="email">EMAIL = #email:VARCHAR#</isNotNull>
      <isNotNull prepend="," property="name">NAME = #name:VARCHAR#</isNotNull>
      <isNotNull prepend="," property="password">PASSWORD = #password:VARCHAR#</isNotNull>
      <isNotNull prepend="," property="headImg">HEAD_IMG = #headImg:VARCHAR#</isNotNull>
      <isNotNull prepend="," property="createdDate">CREATED_DATE = #createdDate:DATETIME#</isNotNull>
      <isNotNull prepend="," property="status">STATUS = #status:INTEGER#</isNotNull>
    </dynamic>
    where id = #id:INTEGER#
  </update>

注意 一定不要写 and  是用,号分割,并且不能有空格
 
分享到:
评论

相关推荐

    ibatis动态多条件组合查询

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

    ibatis_动态查询条件

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

    iBatis条件查询

    而"iBaits按条件查询及分页功能"进一步强调了这个资源关注的重点,即利用iBatis实现基于用户输入条件的查询,并结合分页技术优化大数据量的展示。 总的来说,这个资源适合对半自动化持久层框架感兴趣的开发者,尤其...

    ibatis动态SQL标签用法

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

    ibatis多表查询

    在Ibatis中,多表查询是一项重要的功能,它允许我们处理复杂的数据库操作,例如一对多、多对一或一对一的关系。在这个例子中,我们将探讨如何使用Ibatis进行一对多的多表查询,以`book`和`user`两个表为例。 首先,...

    ibatis的动态查询

    以上内容详细介绍了 ibatis 中动态查询的基本原理及具体实现方法,包括模糊查询、多条件组合查询以及使用 Map 作为参数的高级用法。这些知识点对于深入理解 ibatis 的动态查询机制非常重要,可以帮助开发者更高效地...

    Ibatis多表查询

    ### Ibatis多表查询知识点详解 #### 一、数据库表结构设计 为了演示Ibatis的多表查询功能,本文档采用了一个简单的例子:一个图书 (`book`) 表和一个用户 (`user`) 表,其中图书表与用户表之间存在一对多的关系。...

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

    iBatis 中使用安全的拼接语句、动态查询、大于、小于、等于 iBatis 是一个流行的持久层框架,提供了许多强大的功能来帮助开发者构建高效、安全的数据库交互应用程序。本文将详细介绍 iBatis 中使用安全的拼接语句、...

    动态ibatis查询语句配置

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

    ibatis的多参数查询.doc

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

    ibatis配置多表关联(一对一、一对多、多对多

    ibatis配置多表关联(一对一、一对多、多对多

    操作数据库 iBATIS查询

    iBATIS推荐的写法是在SQL字符串中动态添加`%`,如下所示: ```xml SELECT * FROM t_stu WHERE s_name LIKE '%' || #name# || '%' ``` 在这个例子中,`#name#`代表传入的参数,而`'||'`是字符串拼接操作符。这样...

    ibatis UPDATE 动态XML与insert

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

    ibatis多对多关系(详细)

    iBatis多对多关系详解 iBatis是一种流行的持久层框架,用于简化Java应用程序和关系数据库之间的交互。在本文档中,我们将详细介绍iBatis在处理多对多关系时的配置和实现。 多对多关系 多对多关系是一种常见的关系...

    ibatis多表查询过程

    通过以上讲解,我们了解到在iBatis中进行多表查询的基本方法和策略,包括如何设置映射关系、使用JOIN操作、动态SQL以及结合Spring进行事务管理。实际开发中,根据具体需求灵活运用这些技巧,能够有效提高代码质量和...

    IBATIS动态查询语句.doc

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

    Ibatis复杂查询语句.doc

    在Ibatis中,复杂查询通常涉及到多个表的联接、条件动态拼接、子查询以及各种数据类型的处理。文档"Ibatis复杂查询语句.doc"所展示的查询语句就是一个很好的例子,展示了Ibatis如何处理复杂的数据库操作。接下来,...

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

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

Global site tag (gtag.js) - Google Analytics