http://developer.51cto.com/art/200907/136553.htm
http://developer.51cto.com/art/200907/138596.htm
iBATIS动态查询是如何实现的呢?我们将会在本篇文章内向你介绍iBATIS动态查询的情况
iBATIS动态查询的实现主要是在iBATIS中使用安全的拼接语句,动态查询
iBATIS比JDBC的优势之一,安全高效
iBATIS动态查询实例:(说明文字在注释中)
-
﹤
select
id=
"selectAllProducts"
parameterClass=
"Product"
resultMap=
"ProductResult"
﹥
-
select
id,note
from
Product
-
﹤
dynamic
prepend=
"WHERE"
﹥
-
﹤!
-
﹤isNotNullproperty=
"id"
﹥
-
﹤!
-
﹤isGreaterThanprepend=
"and"
property=
"id"
compareValue=
"0"
﹥
-
id=#id#
-
﹤/isGreaterThan﹥
-
﹤/isNotNull﹥
-
﹤!
-
﹤isNotEmptyprepend=
"and"
property=
"note"
﹥
-
﹤!
-
note
like
'%$note$%'
-
﹤/isNotEmpty﹥
-
﹤/
dynamic
﹥
-
﹤/
select
﹥
iBATIS动态查询解释:
用Map传参数
-
﹤selectid=
"selectAllProducts"
parameterClass=
"java.util.HashMap"
resultMap=
"ProductResult"
﹥
-
selectid,notefromProduct
-
﹤dynamicprepend=
"WHERE"
﹥
-
﹤!--isPropertyAvailable判断属性是否有效--﹥
-
﹤isPropertyAvailableproperty=
"id"
﹥
-
﹤isNotNullproperty=
"id"
﹥
-
﹤!--isLessThan判断参数是否小于compareValue,isLessEquals是小于等于--﹥
-
﹤isLessThanprepend=
"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动态查询有所帮助。
分享到:
相关推荐
与Hibernate和Apache OJB等一站式ORM解决方案不同,iBATIS允许开发者更自由地控制SQL查询,提供了更高的灵活性。这个框架由SQL Maps和Data Access Objects (DAOs)两个主要组件构成,还有一些辅助工具。 **SQL Maps*...
iBATIS 是一款轻量级的Java持久层框架,它主要负责对象关系映射(Object-Relational Mapping,简称O/R Mapping),使得开发者可以将关注点集中在业务逻辑上,而无需过多地处理数据库操作的细节。与Hibernate等其他...
iBatis批处理实现方式浅析 iBatis是一个功能强大的持久层框架,提供了多种方式来实现批处理操作。批处理是指将多个SQL语句组合成一个批处理单元,然后将其执行到数据库中,以提高数据库操作的效率。在iBatis中,...
1. **联合查询的使用.jpg**:这可能是一个关于iBatis如何实现多表联合查询的示例。在iBatis中,可以通过和标签来定义复杂的SQL查询,包括JOIN操作,以此来获取多个表的数据。 2. **iBATIS.in.Action.pdf.lnk**:这...
它不仅继承了Struts1在MVC模式上的成功实践,还吸取了WebWork框架的动态方法调用和拦截器链机制的优点,实现了更高级别的组件化和模块化,使得开发者能够以更少的代码量构建更为复杂的应用。 #### 三、Struts2的...
包括Struts2的核心概念、表单验证、国际化实现、拦截器、IOC模式探讨、Struts2标签的使用、OGNL表达式语言、文件上传下载功能、视图的浅析、与AJAX、Hibernate、Spring、iBatis、JQuery等技术的集成以及具体的应用...
- **Struts2与iBatis集成**:指导如何在Struts2项目中引入iBatis,实现数据持久化层的开发。 #### 十六、其他集成 - **与其他技术集成**:探讨Struts2与更多技术栈的集成方案,如RESTful Web Services、SOAP Web ...
- **操作CSS**:演示如何使用jQuery进行CSS样式的动态修改。 - **操作DOM**:介绍如何利用jQuery进行DOM元素的选择、添加、删除等操作。 - **处理文本**:演示jQuery处理文本内容的方法。 - **处理XML/JSON**:讨论...
11. 视图浅析:Struts2将视图实现的细节留给开发者,可以使用JSP、Freemarker、Velocity等模板引擎来实现。 12. 集成AJAX:Struts2可以与AJAX技术相结合,提供丰富的JavaScript支持,包括对JSON的支持,以实现异步...
值得注意的是,早期的ibatis与Spring的整合由Spring官方提供,但现在MyBatis已经提供了与Spring的整合支持。 整合配置是整个过程中关键的一步。首先,我们需要在`applicationContext.xml`中配置SqlSessionFactory和...
IBATIS是一个流行的持久层框架,Struts2可以通过简单的配置来与IBATIS进行集成。 #### 13.1 集成HIBERNATE HIBERNATE是一个强大的对象关系映射(ORM)框架,可以轻松地与Struts2集成,提供数据库操作的支持。 ###...
- **Struts2中OGNL**:解释如何在Struts2中利用OGNL表达式来动态绑定数据。 - **OGNL使用示例**:通过具体例子展示OGNL的应用场景。 #### 九、上传下载 - **文件上传**:介绍如何使用Struts2进行文件上传。 - **...
- **3.1 Struts2的体系结构**:MVC架构下的具体实现方式,包括模型(Model)、视图(View)、控制器(Controller)各自的作用。 - **3.2 Struts2配置文件**:主要讲解`struts.xml`文件的作用、格式及配置项。 - **3.3 ...