在涉及到ibatis的条件查询的时候,有下面几种查询方式:
isNull, isNotNull与isEmpty, isNotEmpty
那么这几种查询判定条件有什么区别呢?
首先比较 isNull 和 isNotNull的不同:
不用多说这两个很明显一个是判断参数是否为空(isNull), 另一个则相反(isNotNull)
isEmpty 是判断参数是否为NULL或者为空,满足其中一个条件则为true
isNotEmpty 相反, 当参数既不为空也不为NULL的时候为true
<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>
<select id="getCustomerRegNum" resultClass="int" parameterClass="QueryCustomerCondition">
select count(cus_id) from cus_customer_tbl
<dynamic prepend="WHERE">
<isNotNull prepend="AND" property="cusWebFrom">
( CUS_CUSTOMER_TBL.CUS_WEB_FROM LIKE '%$cusWebFrom$%')
</isNotNull>
<isNotNull prepend="AND" property="cusWebAgent">
( CUS_CUSTOMER_TBL.CUS_WEB_AGENT LIKE '%$cusWebAgent$%')
</isNotNull>
</dynamic>
</select>
分享到:
相关推荐
iBATIS模糊查询 iBATIS模糊查询是指使用iBATIS框架实现模糊查询的方法。模糊查询是指在数据库中搜索包含指定字符串的记录,通常使用LIKE谓词来实现。 在iBATIS中,模糊查询可以通过在映射文件中定义SQL语句来实现...
标题 "IBatis完成单表基本的数据库操作 模糊查询" 涉及到的是使用iBatis这个轻量级的持久层框架进行数据库的基本操作,特别是模糊查询。iBatis是一个优秀的SQL映射框架,它允许开发者将SQL语句与Java代码分离,提高...
在本教程"07_ibatis教程_模糊查询实体对象"中,我们将深入学习如何使用iBatis这个流行的Java持久层框架进行模糊查询操作,尤其是在处理实体对象时。iBatis作为一个轻量级的ORM(Object-Relational Mapping)工具,它...
在Ibatis教程中,"07_传智播客ibatis教程_模糊查询实体对象"这部分内容可能涵盖了如何将用户输入的实体对象与SQL语句中的模糊查询条件相结合,例如如何将一个User对象的属性作为模糊查询的关键词。教程可能通过实际...
- 在编写SQL时,应避免使用全模糊匹配`LIKE '%text%'`,而应尽可能使用带有前缀或后缀的模糊匹配,如`LIKE 'text%'`,这可以显著提升查询效率。 - 使用`EXISTS`子查询通常比直接关联查询更高效,尤其是在数据量大...
以上内容详细介绍了 ibatis 中动态查询的基本原理及具体实现方法,包括模糊查询、多条件组合查询以及使用 Map 作为参数的高级用法。这些知识点对于深入理解 ibatis 的动态查询机制非常重要,可以帮助开发者更高效地...
当需要执行一个模糊查询时,通常会使用`LIKE`关键字配合通配符`%`。例如,以下SQL语句将查询所有姓“张”的学生: ```sql SELECT * FROM T_STUDENT WHERE S_NAME LIKE '张%'; ``` 在iBATIS中,可以使用类似的方法...
在ibatis框架中,开发者经常需要根据用户的输入来动态构建SQL查询语句。例如,在实现模糊查询功能时,用户的搜索关键词可能包含SQL中的特殊字符,比如`%`、`_`等。如果不做任何处理,这些特殊字符将会被SQL引擎视为...
本篇将详细讲解Ibatis在实现模糊查询、关联查询以及增删改查操作时的关键知识点。 首先,模糊查询是数据库操作中常见的功能,Ibatis通过`<if>`标签或`<where>`标签配合`#{}`占位符来实现。例如,如果你有一个用户...
描述部分提到的“返回新建数据ID,分页查询,查询条件,模糊查询,date时间段,list集合,截止日期”则是在iBatis配置中常见的几种操作场景,这些场景在数据持久化的操作中非常实用。下面详细解释这些知识点: 1. 返回...
除了使用JDBC,还可以使用ORM(Object-Relational Mapping)框架,如ProGuard或iBatis,它们可以帮助简化数据库操作,将Java对象与数据库表映射起来,从而更方便地实现模糊查询。 在J2ME中进行模糊查询时,还需要...
模糊查询常用于文本搜索,Ibatis支持在SQL语句中使用`LIKE`关键字结合通配符进行模糊匹配。例如,用户输入的部分关键词可以与数据库中的数据进行比较。 ```xml SELECT * FROM users WHERE username LIKE CONCAT('...
例如,创建用户可能需要一个`insert`语句,删除用户对应`delete`,更新用户则是`update`,查询用户则可能包括`select`语句,可以是精确匹配或模糊查询。 4. **创建DAO接口和服务接口**:定义UserDAO接口,包含增删...
总结来说,Ibatis SQL生成工具是一款强大的开发辅助工具,它通过Web应用的方式提供多数据库支持,能够帮助开发者快速生成Ibatis所需的SQL语句和相关Java代码,提高开发效率,降低出错率,是现代企业级开发中的得力...
"ibatisDemo"是一个示例项目,旨在展示如何在实际开发中运用Ibatis进行MySQL数据库的单表操作,包括增、删、改、查以及模糊查询和多参数查询等基本功能。以下是对这个项目及其相关知识点的详细解释: 1. **Ibatis...
总的来说,Ibatis SqlMap 2.3.0对通配符的支持,极大地提升了SQL语句的灵活性,让开发者能够根据业务需求编写出更加复杂的查询条件。然而,同时也需要关注性能和安全方面的问题,确保代码的稳定性和可靠性。通过熟练...
本教程将深入讲解如何利用Ibatis实现数据库的CRUD操作,并涵盖模糊查询这一实用技巧,非常适合初学者学习。 首先,Ibatis是一个轻量级的Java持久层框架,它通过XML或注解的方式将SQL语句与Java代码分离,实现了数据...
本篇文章将深入探讨如何使用Ibatis框架实现对`student`表的增删改查操作,包括模糊查询以及利用序列自动生成主键。 首先,我们来理解Ibatis的基本概念。Ibatis是由Apache基金会维护的一个开源项目,它是一个SQL映射...
iBatis 提供了将 SQL 查询与 Java 代码分离的能力,使得开发者可以在不改变业务逻辑的情况下优化 SQL 语句。它允许开发者直接编写 SQL 查询,这在处理复杂查询或者充分利用数据库特性时非常有优势。官方网站是 ...