ibatis中的dynamic用法
程序员文章站
2022-05-13 11:11:55
...
2011-01-24 19:23 ibatis-dynamic的用法
dynamic可以去除第一个prepend="and"中的字符(这里为and),从而可以帮助你实现一些很实用的功能。具体情况如下:
1.使用dynamic
1.1 xml
select * from Person表
<dynamicprepend="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表 whereandname= ? , and sex= ?
显然name前多个and,sql语句错误。
3.总结
dynamic会自动去除第一个 prepend="and中的内容(这里为and),从而方便一些操作
dynamic可以去除第一个prepend="and"中的字符(这里为and),从而可以帮助你实现一些很实用的功能。具体情况如下:
1.使用dynamic
1.1 xml
select * from Person表
<dynamicprepend="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表 whereandname= ? , and sex= ?
显然name前多个and,sql语句错误。
3.总结
dynamic会自动去除第一个 prepend="and中的内容(这里为and),从而方便一些操作
上一篇: 2008中国Linux从业者职位分析
下一篇: dwr学习(二):提交简单的表单数据