您的位置:首页 > 数据库

mybatis动态SQL语句

2015-08-22 03:41 253 查看
一 if标签

?
二 where标签

?
如果它包含的标签中有返回值的话就插入一个where。此外如果标签返回的内容是以AND或OR开头的,则它会剔除掉。

三 set 标签

使用set+if标签修改后,如果某项为null则不进行更新,而是保持数据库原值

?
四 trim标签

trim是更灵活的去处多余关键字的标签,他可以实践where和set的效果,where例子的等效trim语句

?
set例子的等效trim语句

?
五 choose (when, otherwise)

有时候并不想应用所有的条件,而只是想从多个选项中选择一个。MyBatis提供了choose 元素,按顺序判断when中的条件出否成立,如果有一个成立,则choose结束。当choose中所有when的条件都不满则时,则执行otherwise中的sql。类似于Java 的switch语句,choose为switch,when为case,otherwise则为default。

?
六 foreach

对于动态SQL 非常必须的,主是要迭代一个集合,通常是用于IN 条件。List实例将使用“list”做为键,数组实例以“array”做为键。

1 参数为list实例的写法

SqlMapper.xml

?
Java

?
2 参数为Array实例的写法

SqlMapper.xml

?
Java

?
转载自:http://my.oschina.net/ydsakyclguozi/blog/270322
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: