动态SQL
一、if
if经常用在动态拼接查询SQL的动态条件,新增或修改的SQL的只新增或修改不为空的属性。if是MyBatis中经常使用的
1、Dao层接口SysUserMapper的方法:
2、 SysUserMapper.xml中对应的代码:
3、测试方法
二、where
where元素知道只有一个以上的if条件有值的情况下才去插入”WHERE”子句。而且,若最后的内容是“AND”或”OR”开头的,where元素也知道如何将他们去除。
1、Dao层接口SysUserMapper的方法:
2、 SysUserMapper.xml中对应的代码:
3、测试方法
三、choose,when,otherwise
有些时候,我们不想用到所有的条件语句,而只想从中择其一二。针对这种情况,MyBatis 提供了 choose 元素,它有点像 Java 中的 switch 语句/if…else if…else。
1、Dao层接口SysUserMapper的方法:
2、 SysUserMapper.xml中对应的代码:
3、测试方法