ibatis
2015-09-14 16:33
387 查看
dynamic可以去除第一个prepend="and"中的字符(这里为and),从而可以帮助你实现一些很实用的功能。具体情况如下:
1.使用dynamic
1.1 xml
select * from Person表
<dynamic prepend="where">
<isNotNull property="name" prepend="and">
name=#name#
</isNotNull>
<isNotNull property="sex" prepend="and">
sex=#sex#
</isNotNull>
</dynamic>
1.2 结果
当name、sex都非null时打出如下的sql语句:
select Person表 where (and) name= ? , and sex= ?
显然name前的and被自动去除了,很方便吧。
2.不使用dynamic
2.1 xml
如果我把dynamic 去掉就会变的很恶心,如下:
select * from Person表
<isNotNull property="name" prepend="and">
name=#name#
</isNotNull>
<isNotNull property="sex" prepend="and">
sex=#sex#
</isNotNull>
2.2 结果
当name、sex都非null时打出如下的sql语句:
select Person表 where and name= ? , and sex= ?
显然name前多个and,sql语句错误。
3.总结
dynamic 会自动去除第一个 prepend="and中的内容(这里为and),从而方便一些操作。
1.使用dynamic
1.1 xml
select * from Person表
<dynamic prepend="where">
<isNotNull property="name" prepend="and">
name=#name#
</isNotNull>
<isNotNull property="sex" prepend="and">
sex=#sex#
</isNotNull>
</dynamic>
1.2 结果
当name、sex都非null时打出如下的sql语句:
select Person表 where (and) name= ? , and sex= ?
显然name前的and被自动去除了,很方便吧。
2.不使用dynamic
2.1 xml
如果我把dynamic 去掉就会变的很恶心,如下:
select * from Person表
<isNotNull property="name" prepend="and">
name=#name#
</isNotNull>
<isNotNull property="sex" prepend="and">
sex=#sex#
</isNotNull>
2.2 结果
当name、sex都非null时打出如下的sql语句:
select Person表 where and name= ? , and sex= ?
显然name前多个and,sql语句错误。
3.总结
dynamic 会自动去除第一个 prepend="and中的内容(这里为and),从而方便一些操作。
属性关键字 | 含义 |
<isEqual> | 如果参数相等于值则查询条件有效 |
<isNotEqual> | 如果参数不等于值则查询条件有效 |
<isGreaterThan> | 如果参数大于值则查询条件有效 |
<isGreaterEqual> | 如果参数等于值则查询条件有效 |
<isLessEqual> | 如果参数小于值则查询条件有效。如下所示:<isLessEqual prepend = ”AND” property = ”age” compareValue = ”18” >ADOLESCENT = ‘TRUE’</isLessEqual> |
<isPropertyAvailable> | 如果参数有使用则查询条件有效。 |
<isNotPropertyAvailable> | 如果参数没有使用则查询条件有效 |
<isNull> | 如果参数为NULL则查询条件有效 |
<isNotNull> | 如果参数不为NULL则查询条件有效 |
<isEmpty> | 如果参数为空则查询条件有效 |
<isNotEmpty> | 如果参数不为空则查询条件有效 |
<isParameterPresent> | 如果参数类不为NULL则查询条件有效 |
<isNotParameterPresent> | Checks to see if the parameter object is not present (null). Example Usage |
相关文章推荐
- click事件多次执行的解决办法
- Quick-Cocos2d-x初学者游戏教程(十) ---------------- 添加游戏障碍物
- Java 注解
- Gradient Boost
- 顺序表的基本算法
- 网络地址转换NAT
- Android OpenGL 学习笔记
- Android系统自带样式(android:theme)详解 (
- 3.仿微信--注册界面 布局实现
- 如何将service与activity绑定
- MyEclipse中SVN的使用方法
- IOS启动其他应用程序
- 暂时告一段落了,明年再来
- leetcode 104: Maximum Depth of Binary Tree
- Quick-Cocos2d-x初学者游戏教程(九) ------------------- 障碍物和奖励品
- zookeeper 集群安装
- 从今天起开始写博客记日记,向自我宣战
- hdu 1199 Color the Ball vector使用
- 最简单的视频网站(JavaEE+FFmpeg)
- nodejs发送邮件