`
sbpya
  • 浏览: 602862 次
  • 性别: Icon_minigender_1
  • 来自: 杭州,长沙
社区版块
存档分类
最新评论

iBATIS动态查询简介

阅读更多

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 Maps开发指南.pdf

    开发指南 iBATIS SQL Maps Page 3 of 62 Map类型的Result 复杂类型属性(即自定义类型的属性) 避免N+1 Select(1:1) 延迟加载 VS 联合查询(1:1) 复杂类型集合的属性 避免N+1 Select(1:M和M:N) 组合键值或多...

    iBATIS实战

    书中既详实地介绍了iBATIS的设计理念和基础知识,也讨论了动态SQL、高速缓存、DAD框架等高级主题,还讲解了iBATIS在实际开发中的应用。书的最后给出了一个设计优雅、层次清晰的示例程序JGameStore,该示例涵盖全书的...

    iBATIS 帮助文档

    简介.................................................................................................................................................4 关于本文............................................

    基于Servlet3.0+IBatis+BootStrip技术构建简单会议管理系统

    第01课 项目简介、环境搭建 第02课 servlet3.0新特性之@WebServlet(登录示例) 第03课 servlet3.0新特性之@WebServlet_@WebInitParam详解 第04课 servlet3.0新特性之@WebFilter_@WebListener 第05课 JQuery AJAX ...

    Java开发工程师简历模板.docx

    项目简介: “实惠购”该项目是 B2C 商城,分为前台购物服务和后台管理服务。... ... 后台管理服务包括:后台权限管理服务,商品管理服务,用户...4.充分利用 iBatis 动态编译 sql 语句的特性,实现数据快速读取以及维护;

    spring chm文档

    2.6.1. 动态语言支持 2.6.2. JMX 2.6.3. 任务规划 2.6.4. 对Java 5(Tiger)的支持 2.7. 移植到Spring 2.0 2.7.1. 一些变化 2.8. 更新的样例应用 2.9. 改进的文档 I. 核心技术 3. 控制反转容器 3.1. 简介 ...

    Spring-Reference_zh_CN(Spring中文参考手册)

    11.2.7. 执行查询 11.2.8. 更新数据库 11.3. 控制数据库连接 11.3.1. DataSourceUtils类 11.3.2. SmartDataSource接口 11.3.3. AbstractDataSource类 11.3.4. SingleConnectionDataSource类 11.3.5. ...

    Spring 2.0 开发参考手册

    2.6.1. 动态语言支持 2.6.2. JMX 2.6.3. 任务规划 2.6.4. 对Java 5(Tiger)的支持 2.7. 移植到Spring 2.0 2.7.1. 一些变化 2.8. 更新的样例应用 2.9. 改进的文档 I. 核心技术 3. 控制反转容器 3.1. 简介 ...

    Spring API

    2.6.1. 动态语言支持 2.6.2. 增强的测试支持 2.6.3. JMX 支持 2.6.4. 将Spring 应用程序上下文部署为JCA adapter 2.6.5. 计划任务 2.6.6. 对Java 5 (Tiger) 支持 2.7. 移植到Spring 2.5 2.7.1. 改变 2.8. ...

    Spring中文帮助文档

    2.6.1. 动态语言支持 2.6.2. 增强的测试支持 2.6.3. JMX 支持 2.6.4. 将Spring 应用程序上下文部署为JCA adapter 2.6.5. 计划任务 2.6.6. 对Java 5 (Tiger) 支持 2.7. 移植到Spring 2.5 2.7.1. 改变 2.8. ...

Global site tag (gtag.js) - Google Analytics