您的位置:首页 > 其它

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),从而方便一些操作。

属性关键字含义
<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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: