iBATIS动态查询的实现浅析
创始人
2024-04-19 08:21:07
0

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.           ﹤ isNotNull  property ="id" ﹥   
  6.               ﹤!--  isGreaterThan判断参数是否大于compareValue,isGreaterEquals是大于等于  --﹥   
  7.               ﹤ isGreaterThan  prepend =" and "  property ="id"  compareValue ="0" ﹥   
  8.              id = #id#  
  9.               ﹤/ isGreaterThan ﹥   
  10.           ﹤/ isNotNull ﹥   
  11.           ﹤!--  isNotEmpty判断字串不为空,isEmpty可以判断字串为空  --﹥   
  12.           ﹤ isNotEmpty  prepend =" and "  property ="note" ﹥   
  13.           ﹤!--  模糊查询不能用#,#在是用prepareStatement的?插入参数,$是文本替换  --﹥   
  14.          note like '%$note$%' 
  15.           ﹤/ isNotEmpty ﹥   
  16.       ﹤/ dynamic ﹥   
  17. ﹤/ select ﹥ 

iBATIS动态查询解释:

用Map传参数

  1. ﹤ select  id ="selectAllProducts"  parameterClass ="java.util.HashMap"  resultMap ="ProductResult" ﹥   
  2.   select id,note from Product  
  3.       ﹤ dynamic  prepend ="WHERE" ﹥   
  4.       ﹤!--  isPropertyAvailable判断属性是否有效  --﹥   
  5.          ﹤ isPropertyAvailable  property ="id" ﹥   
  6.            ﹤ isNotNull  property ="id" ﹥   
  7.                ﹤!--  isLessThan判断参数是否小于compareValue,isLessEquals是小于等于  --﹥   
  8.                ﹤ isLessThan  prepend =" 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动态查询有所帮助。

【编辑推荐】

  1. iBATIS ParameterMap配置实例浅析
  2. iBATIS ResultMap基础浅析
  3. iBATIS CacheModel使用浅析
  4. iBATIS分页实例中ObjectDataSource的应用浅析
  5. iBATIS模糊查询的实现实例浅析

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...