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
- 3
- 4
- 5
- 6
- 7
- 8
- 9
1.2 结果
当name、sex都非null时打出如下的sql语句:
select Person where (and) name= ? , and sex= ?
- 1
显然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>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
2.2 结果
当name、sex都非null时打出如下的sql语句:
select Person where and name= ? , and sex= ?
- 1
显然name前多个and,sql语句错误。
- 1
- 2
3.总结
dynamic 会自动去除第一个 prepend=”and中的内容(这里为and),从而方便一些操作。
转自 https://blog.csdn.net/jzy23682891/article/details/7094788
-
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),从而方便一些操作。
今天的文章ibatis中dynamic的用法分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/66439.html