iBATIS动态查询的实现主要是在iBATIS中使用安全的拼接语句,动态查询
iBATIS比JDBC的优势之一,安全高效
iBATIS动态查询实例:(说明文字在注释中)
﹤ select id ="selectAllProducts" parameterClass ="Product" resultMap ="ProductResult" ﹥
select id,note from Product
﹤ dynamic prepend ="WHERE" ﹥
﹤!-- isNotNull判断参数是否存在,Integer类型 --﹥
﹤ isNotNull property ="id" ﹥
﹤!-- isGreaterThan判断参数是否大于compareValue,isGreaterEquals是大于等于 --﹥
﹤ isGreaterThan prepend =" and " property ="id" compareValue ="0" ﹥
id = #id#
﹤/ isGreaterThan ﹥
﹤/ isNotNull ﹥
﹤!-- isNotEmpty判断字串不为空,isEmpty可以判断字串为空 --﹥
﹤ isNotEmpty prepend =" and " property ="note" ﹥
﹤!-- 模糊查询不能用#,#在是用prepareStatement的?插入参数,$是文本替换 --﹥
note like '%$note$%'
﹤/ isNotEmpty ﹥
﹤/ dynamic ﹥
﹤/ select ﹥
iBATIS动态查询解释:
用Map传参数
﹤ select id ="selectAllProducts" parameterClass ="java.util.HashMap" resultMap ="ProductResult" ﹥
select id,note from Product
﹤ dynamic prepend ="WHERE" ﹥
﹤!-- isPropertyAvailable判断属性是否有效 --﹥
﹤ isPropertyAvailable property ="id" ﹥
﹤ isNotNull property ="id" ﹥
﹤!-- isLessThan判断参数是否小于compareValue,isLessEquals是小于等于 --﹥
﹤ isLessThan prepend =" and " property ="id" compareValue ="10" ﹥
id = #id#
﹤/ isLessThan ﹥
﹤/ isNotNull ﹥
﹤/ isPropertyAvailable ﹥
﹤/ dynamic ﹥
﹤/ select ﹥
iBATIS动态查询几个常用属性
﹤ isPropertyAvailable ﹥ 属性是存在
﹤ isNotPropertyAvailable ﹥ 属性不存在
﹤ isNull ﹥ 属性值是null
﹤ isEmpty ﹥ 判断Collection.size ﹤ 1 或String.length()﹤1
﹤isEqual ﹥ 等于
﹤ isNotEqual ﹥ 不等于
﹤ isGreaterThan ﹥ 大于
﹤ isGreaterEqual ﹥ 大于等于
﹤ isLessThan ﹥ 小于
﹤ isLessEqual ﹥ 小于等于
iBATIS动态查询的相关信息就向你介绍到这里,希望对你了解iBATIS动态查询有所帮助。
<!-- 分页 --><!-- 分页end -->
分享到:
相关推荐
根据提供的文档信息,我们可以深入探讨Ibatis框架中的一个具体应用场景:如何通过动态SQL查询特定条件下的ID列表。本文将从以下几个方面进行详细解析: ### 一、Ibatis简介 Ibatis是一个基于Java的持久层框架,它...
在ibatis中,实现复杂的`AND` 和 `OR` 联合查询可以通过动态SQL来完成。动态SQL允许在运行时动态地构建SQL语句,从而实现更加灵活的查询功能。 #### 四、示例解析 根据提供的部分代码,我们可以详细分析如何在...
通过以上讲解,我们了解到在iBatis中进行多表查询的基本方法和策略,包括如何设置映射关系、使用JOIN操作、动态SQL以及结合Spring进行事务管理。实际开发中,根据具体需求灵活运用这些技巧,能够有效提高代码质量和...
#### 一、iBatis简介 iBatis 是一款优秀的持久层框架,它将 SQL 映射到 Java 对象,简化了 JDBC 编程过程中的繁琐操作,提高了开发效率。iBatis 的核心功能包括 SQL 映射、动态 SQL 生成等,它通过配置文件或者注解...
一、Ibatis3简介 Ibatis3是MyBatis的前身,它放弃了Hibernate的全对象关系映射,转而采用XML或注解方式来配置SQL语句,这使得SQL与Java代码完全分离,增强了代码的可读性和可维护性。Ibatis3的主要优势在于灵活性高...
例如,使用`<if>`、`<choose>`、`<when>`、`<otherwise>`等标签来构建动态查询。 **八、性能优化** 通过合理的缓存策略、批处理和预编译SQL等手段,IBatis可以在不影响灵活性的同时提供良好的性能。 总结,IBatis ...
### 一、iBatis 框架简介 iBatis 是一个基于 Java 的持久层框架,它将 SQL 映射语句与 Java 代码分离,使得开发者能够更加灵活地控制 SQL 的执行逻辑。虽然 iBatis 在某些方面与 Hibernate 类似,但它们之间的主要...
### ibatis简介 ibatis主要针对的是那些对数据库性能有极高要求或需要复杂SQL查询的应用场景。与“一站式”ORM解决方案相比,ibatis要求开发者更直接地参与到SQL语句的编写中,这对于那些希望对数据库操作有更多...
Ibatis简介 Ibatis最初由Clinton Begin创建,后被Google Code托管,并在2010年迁移到GitHub。其设计理念是将SQL语句与Java代码解耦,通过XML配置文件或注解方式定义SQL语句,使得数据库操作更加灵活且易于维护。 ...
一、Ibatis框架简介 Ibatis是由MyBatis团队开发的一款轻量级Java ORM(Object-Relational Mapping)框架,它的核心理念是将SQL语句与Java代码分离,使得SQL与业务逻辑更好地解耦。Ibatis提供了映射机制,通过XML或...
1. **iBatis简介**:介绍iBatis的基本概念,作为一款轻量级的数据持久层框架,如何简化传统JDBC的复杂性,提供更直观的数据库操作方式。 2. **配置文件**:讲解iBatis的核心配置文件(mybatis-config.xml),包括...
**iBATIS简介** iBATIS(发音为“eye-batts”)在Java世界中一度非常流行,它的核心理念是分离应用程序的业务逻辑层和数据访问层。它不是完整的ORM(对象关系映射)解决方案,而是更注重SQL的控制权,使得开发者...
一、iBatis简介 iBatis最初由MyBatis的创始人Clinton Begin创建,后来发展为MyBatis。它是一个基于Java的持久层框架,消除了几乎所有的JDBC代码和参数手动设置,以及结果集的映射。通过XML或注解方式配置和原始映射...
3. **动态SQL**: IBATIS 支持动态SQL,这意味着你可以根据条件在运行时构建SQL语句。这增强了SQL的灵活性,减少了重复代码。 4. **事务管理(Transaction Management)**: IBATIS 提供了简单的事务管理功能,允许...
动态SQL是iBatis的一大特色,通过`<if>`, `<choose>`, `<when>`, `<otherwise>`, `<where>`, `<set>` 等标签,可以在XML中编写条件判断,构建灵活的SQL语句。 8. **缓存**: iBatis提供了本地缓存和二级缓存机制...
一、iBatis简介 iBatis是由Clinton Begin创建的一个开源项目,最初名为“Apache MyBatis”。它并非ORM(Object-Relational Mapping)框架,而是一个SQL映射框架,允许开发者编写动态的SQL,将SQL与Java代码解耦,...
### Ibatis简介 Ibatis是一个支持普通SQL查询、存储过程以及高级映射的优秀持久层框架。Ibatis可以让你直接编写原生态SQL,可以严格控制SQL执行性能,灵活度极高,尤其适合对SQL有特殊需求的项目。 ### SQL语句...
1. **iBATIS简介** iBATIS最初由James Gulick开发,后来成为Apache软件基金会的一个顶级项目。它的主要功能是将SQL查询映射到Java对象,提供了一种灵活的、非侵入式的持久层解决方案。iBATIS的核心概念包括:...
1. **iBatis简介**:首先介绍iBatis的起源、目标和设计理念,帮助读者理解为何选择iBatis作为持久层解决方案。 2. **环境搭建**:详述如何配置Java开发环境,以及如何集成iBatis到项目中,包括添加依赖、配置数据源...