`

iBATIS动态查询的实现浅析

阅读更多

http://developer.51cto.com/art/200907/136553.htm

http://developer.51cto.com/art/200907/138596.htm

iBATIS动态查询是如何实现的呢?我们将会在本篇文章内向你介绍iBATIS动态查询的情况

iBATIS动态查询的实现主要是在iBATIS中使用安全的拼接语句,动态查询

iBATIS比JDBC的优势之一,安全高效

iBATIS动态查询实例:(说明文字在注释中)

  1. select id= "selectAllProducts" parameterClass= "Product" resultMap= "ProductResult"
  2. select id,note from Product
  3. dynamic prepend= "WHERE"
  4. ﹤! --isNotNull判断参数是否存在,Integer类型--﹥
  5. ﹤isNotNullproperty= "id"
  6. ﹤! --isGreaterThan判断参数是否大于compareValue,isGreaterEquals是大于等于--﹥
  7. ﹤isGreaterThanprepend= "and" property= "id" compareValue= "0"
  8. id=#id#
  9. ﹤/isGreaterThan﹥
  10. ﹤/isNotNull﹥
  11. ﹤! --isNotEmpty判断字串不为空,isEmpty可以判断字串为空--﹥
  12. ﹤isNotEmptyprepend= "and" property= "note"
  13. ﹤! --模糊查询不能用#,#在是用prepareStatement的?插入参数,$是文本替换--﹥
  14. note like '%$note$%'
  15. ﹤/isNotEmpty﹥
  16. ﹤/ dynamic
  17. ﹤/ select

iBATIS动态查询解释:

用Map传参数

  1. ﹤selectid= "selectAllProducts" parameterClass= "java.util.HashMap" resultMap= "ProductResult"
  2. selectid,notefromProduct
  3. ﹤dynamicprepend= "WHERE"
  4. ﹤!--isPropertyAvailable判断属性是否有效--﹥
  5. ﹤isPropertyAvailableproperty= "id"
  6. ﹤isNotNullproperty= "id"
  7. ﹤!--isLessThan判断参数是否小于compareValue,isLessEquals是小于等于--﹥
  8. ﹤isLessThanprepend= "and" property= "id" compareValue= "10"
  9. id=#id#
  10. ﹤/isLessThan﹥
  11. ﹤/isNotNull﹥
  12. ﹤/isPropertyAvailable﹥
  13. ﹤/dynamic﹥
  14. ﹤/select﹥

iBATIS动态查询几个常用属性

﹤ isPropertyAvailable ﹥ 属性是存在

﹤ isNotPropertyAvailable ﹥ 属性不存在

﹤ isNull ﹥ 属性值是null

﹤ isEmpty ﹥ 判断Collection.size ﹤ 1 或String.length()﹤1

﹤isEqual ﹥ 等于

﹤ isNotEqual ﹥ 不等于

﹤ isGreaterThan ﹥ 大于

﹤ isGreaterEqual ﹥ 大于等于

﹤ isLessThan ﹥ 小于

﹤ isLessEqual ﹥ 小于等于

iBATIS动态查询的相关信息就向你介绍到这里,希望对你了解iBATIS动态查询有所帮助。

分享到:
评论

相关推荐

    iBATIS教程之入门浅析借鉴.pdf

    与Hibernate和Apache OJB等一站式ORM解决方案不同,iBATIS允许开发者更自由地控制SQL查询,提供了更高的灵活性。这个框架由SQL Maps和Data Access Objects (DAOs)两个主要组件构成,还有一些辅助工具。 **SQL Maps*...

    iBATIS教程之快速入门浅析

    iBATIS 是一款轻量级的Java持久层框架,它主要负责对象关系映射(Object-Relational Mapping,简称O/R Mapping),使得开发者可以将关注点集中在业务逻辑上,而无需过多地处理数据库操作的细节。与Hibernate等其他...

    ibatis的两种方式实现批处理.doc

    iBatis批处理实现方式浅析 iBatis是一个功能强大的持久层框架,提供了多种方式来实现批处理操作。批处理是指将多个SQL语句组合成一个批处理单元,然后将其执行到数据库中,以提高数据库操作的效率。在iBatis中,...

    ibatis 学习资料

    1. **联合查询的使用.jpg**:这可能是一个关于iBatis如何实现多表联合查询的示例。在iBatis中,可以通过和标签来定义复杂的SQL查询,包括JOIN操作,以此来获取多个表的数据。 2. **iBATIS.in.Action.pdf.lnk**:这...

    struts入门教程

    它不仅继承了Struts1在MVC模式上的成功实践,还吸取了WebWork框架的动态方法调用和拦截器链机制的优点,实现了更高级别的组件化和模块化,使得开发者能够以更少的代码量构建更为复杂的应用。 #### 三、Struts2的...

    轻松入门之struts2

    包括Struts2的核心概念、表单验证、国际化实现、拦截器、IOC模式探讨、Struts2标签的使用、OGNL表达式语言、文件上传下载功能、视图的浅析、与AJAX、Hibernate、Spring、iBatis、JQuery等技术的集成以及具体的应用...

    Struts2入门教程.pdf

    - **集成iBatis**:探索Struts2与iBatis的集成方案。 - **集成jQuery**:介绍jQuery在Struts2中的应用,包括CSS操作、DOM操作等内容。 #### 十三、案例分析 - **投票管理系统**:通过具体的案例分析,展示了Struts...

    struts2的速成教程,充电的都来看了

    - **Struts2与iBatis集成**:指导如何在Struts2项目中引入iBatis,实现数据持久化层的开发。 #### 十六、其他集成 - **与其他技术集成**:探讨Struts2与更多技术栈的集成方案,如RESTful Web Services、SOAP Web ...

    struts2入门教程

    - **操作CSS**:演示如何使用jQuery进行CSS样式的动态修改。 - **操作DOM**:介绍如何利用jQuery进行DOM元素的选择、添加、删除等操作。 - **处理文本**:演示jQuery处理文本内容的方法。 - **处理XML/JSON**:讨论...

    struts2经典入门教程

    11. 视图浅析:Struts2将视图实现的细节留给开发者,可以使用JSP、Freemarker、Velocity等模板引擎来实现。 12. 集成AJAX:Struts2可以与AJAX技术相结合,提供丰富的JavaScript支持,包括对JSON的支持,以实现异步...

    浅析Spring和MyBatis整合及逆向工程

    值得注意的是,早期的ibatis与Spring的整合由Spring官方提供,但现在MyBatis已经提供了与Spring的整合支持。 整合配置是整个过程中关键的一步。首先,我们需要在`applicationContext.xml`中配置SqlSessionFactory和...

    Struts2轻松入门,合适入门的朋友。

    IBATIS是一个流行的持久层框架,Struts2可以通过简单的配置来与IBATIS进行集成。 #### 13.1 集成HIBERNATE HIBERNATE是一个强大的对象关系映射(ORM)框架,可以轻松地与Struts2集成,提供数据库操作的支持。 ###...

    Struts2入门教程。包括jquery集成等。入门必看

    - **Struts2中OGNL**:解释如何在Struts2中利用OGNL表达式来动态绑定数据。 - **OGNL使用示例**:通过具体例子展示OGNL的应用场景。 #### 九、上传下载 - **文件上传**:介绍如何使用Struts2进行文件上传。 - **...

    struts2系列教程

    - **3.1 Struts2的体系结构**:MVC架构下的具体实现方式,包括模型(Model)、视图(View)、控制器(Controller)各自的作用。 - **3.2 Struts2配置文件**:主要讲解`struts.xml`文件的作用、格式及配置项。 - **3.3 ...

Global site tag (gtag.js) - Google Analytics