`

ibatis 中isNull, isNotNull与isEmpty, isNotEmpty区别

 
阅读更多

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

isEmpty判断参数是否为Null或者空,满足其中一个条件则其true

isNotEmpty相反,当参数既不为Null也不为空是其为true

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

例如:

 

 <typeAlias alias="RiskDetail" type="com.taobao.riskm.domain.RiskDetail" />  
<update id="updateByCatalogCode" parameterClass="RiskDetail">
	update riskm_detail
	set
	<dynamic>
		<isNotNull property="level">
			`level`=#level#,
		</isNotNull>
		<isNotNull property="explainText">
			`explaintext`=#explainText#,
		</isNotNull>	
		<isNotNull property="rectification">
			`rectification`=#rectification#,
		</isNotNull>
		<isNotNull property="answering">
			`answering`=#answering#,
		</isNotNull>	
		<isNotNull property="reservedString">
			`reservedstring`=#reservedString#,
		</isNotNull>	
		<isNotNull property="operator">
			`operator`=#operator#,
		</isNotNull>			
	</dynamic>
	    `modifytime`=now()
		where `catalogcode`=#catalogCode#;
  </update>
 

 又如:

 

<select id="getCustomerRegNum" resultClass="int" parameterClass="QueryCustomerCondition">  
          select count(cus_id) from cus_customer_tbl   
          <dynamic prepend="WHERE">  
            <isNotEmpty prepend="AND" property="cusWebFrom">  
                ( CUS_CUSTOMER_TBL.CUS_WEB_FROM LIKE '%$cusWebFrom$%')  
            </isNotEmpty>  
            <isNotEmpty prepend="AND" property="cusWebAgent">  
                ( CUS_CUSTOMER_TBL.CUS_WEB_AGENT LIKE '%$cusWebAgent$%')  
            </isNotEmpty>  
          </dynamic>  
   </select>  
 
分享到:
评论

相关推荐

    ibatis 动态代理dtd

    ELEMENT dynamic (#PCDATA | include | iterate | isParameterPresent | isNotParameterPresent | isEmpty | isNotEmpty | isNotNull | isNull | isNotEqual | isEqual | isGreaterThan | isGreaterEqual | ...

    ibatis and和or联合查询 .doc

    利用 `&lt;dynamic&gt;` 标签和 `&lt;isNotEmpty&gt;`, `&lt;isNotNull&gt;` 等子标签,可以灵活地控制SQL语句的生成。这对于实现复杂的查询条件非常有用,特别是在处理大量参数和不确定条件的情况下。此外,通过设置 `open` 和 `close...

    iBATIS动态标签

    4. `&lt;isNotNull&gt;`:检查属性是否非null。 5. `&lt;isEmpty&gt;`:检查集合、字符串或其转换值是否为空。 6. `&lt;isNotEmpty&gt;`:检查集合、字符串或其转换值是否非空。 ### `&lt;iterate&gt;`标签 `&lt;iterate&gt;`标签用于遍历列表类型...

    ibatis_动态查询条件

    在动态查询条件中,iBatis 提供了多种判断参数的方法,例如 `isNotNull`、`isNotEmpty`、`isGreaterThan` 等,这些方法可以根据参数的值来生成不同的 SQL 语句。 下面是一个简单的示例,演示如何使用 iBatis 的动态...

    ibatis的动态查询

    - 结合 `&lt;isNotNull&gt;`、`&lt;isLessThan&gt;` 等标签,可以根据 Map 中的数据动态生成 SQL 语句。 2. **示例代码**: ```xml select id, note from Product &lt;!-- isPropertyAvailable 判断属性是否有效 --&gt; ...

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

    例如,在上面的示例代码中,我们使用 `&lt;dynamic&gt;` 元素来定义动态 SQL 语句,在其中使用 `&lt;isNotNull&gt;`、`&lt;isGreaterThan&gt;`、`&lt;isLessThan&gt;` 等元素来构建条件语句。 这些元素可以根据参数的值动态地生成 SQL 语句...

    常用ibatis配置

    通过isNotNull、isNotEmpty和isNotEqual等标签,可以根据Java对象中的属性值动态地生成SQL条件片段。 4. 模糊查询:模糊查询用于匹配包含特定字符串的记录。例如,使用like关键字配合SQL中的通配符“%”,可以在...

    ibatis dynamic 用法

    3. **一元标签**:用于判断某个属性的存在与否,如 `&lt;isNotNull&gt;`、`&lt;isEmpty&gt;` 等。 4. **`&lt;iterate&gt;`**:用于循环迭代一个集合中的元素。 #### 三、`&lt;dynamic&gt;` 标签详解 `&lt;dynamic&gt;` 标签是最常用的动态 SQL ...

    iBatis的动态SQL语句

    - `&lt;isNotNull&gt;`:检查某个属性是否不为null。 - `&lt;isEmpty&gt;`:检查某个属性是否为空,对于集合来说是其大小是否为0,对于字符串来说是其长度是否为0或是否为null。 - `&lt;isNotEmpty&gt;`:检查某个属性是否非空,对于...

    ibatis中iterate的例子

    在Java Web开发中,iBatis(现在称为MyBatis)是一个流行的持久层框架,它提供了灵活的SQL映射机制,使得数据库操作更加便捷。在iBatis中,`&lt;iterate&gt;`标签是一个非常实用的功能,它允许我们处理集合数据,如数组、...

    ibatis应对批量update

    ### ibatis应对批量update 在处理大量数据更新时,传统的for循环方式往往会导致效率低下。这是因为每一次循环都需要执行一次数据库连接操作,对于批量更新来说,这样的处理方式显然不够高效。为了解决这个问题,...

    ibatis官方中文文档

    **标题与描述解析** 本文档集是"Ibatis官方中文文档",包含两份重要的资源:《iBATIS-SqlMaps-2_cn.pdf》和《iBATIS-SqlMaps-2-Tutorial_cn.pdf》。这两份文档详尽地介绍了iBATIS这一持久层框架的使用方法,特别是...

    ibatis中输入输出各种类型的参数分析及#与$区别

    ### ibatis中输入输出各种类型的参数分析及#与$区别 #### iBatis简介与特点 iBatis作为一款轻量级的Java持久层框架,以其简洁、灵活的特点,在众多框架中占据一席之地。相较于知名的Hibernate框架,iBatis在实现上...

    ibatis2.0中文API

    其次,属性设置详解涉及到的是如何在iBATIS中设置和获取Java对象的属性,以及如何将这些属性与数据库表字段对应。在映射文件中,我们可以定义`&lt;resultMap&gt;`来映射对象属性和字段,使用`&lt;id&gt;`、`&lt;result&gt;`等元素来...

    IBATIS动态查询语句.doc

    `&lt;isNotNull&gt;`和`&lt;isNotEmpty&gt;`则分别用于判断参数是否非空和字符串是否非空,进而决定是否加入相应的过滤条件。 ### 安全高效:IBATIS与JDBC对比 IBATIS(MyBatis)相较于传统的JDBC,有以下优势: 1. **安全性*...

    ibatis的错误总结

    确保`parameterClass`和`resultClass`属性与实际参数类型和返回类型相匹配,正确使用动态SQL标签如`&lt;isNotNull&gt;`,并注意`#`和`{}`之间的区别,这些都是避免常见错误的关键。通过仔细检查和测试,开发者可以充分利用...

    iBatis net版中文 1.6的

    - iBatis .NET简介:介绍iBatis .NET的基本概念、设计理念以及与传统数据访问方式的区别。 - 安装与配置:指导如何在.NET项目中引入iBatis .NET,以及如何设置配置文件。 - 数据库映射:讲解如何创建XML映射文件或...

    ibatis总结 ibatis ibatis ibatis ibatis

    Ibatis 是一款轻量级的Java持久层框架,它允许开发者将SQL语句与Java代码分离,从而使得数据库访问更加灵活、易于维护。本篇文章将深入探讨Ibatis的核心概念、最佳实践以及与其他框架如Struts和Spring的整合。 1. ...

    ibatis拼接字符串

    虽然 iBatis 在某些方面与 Hibernate 类似,但它们之间的主要区别在于 iBatis 提供了更细粒度的 SQL 控制能力,这使得 iBatis 在复杂查询或性能敏感的应用场景中更具优势。 ### 二、动态 SQL 的概念 在实际应用中...

Global site tag (gtag.js) - Google Analytics