mybatis动态sql,条件判断详解示例
动态sql主要是解决我们进行条件查询时得应用,在之前我们需要对某个字段进行判断,直接在bao层实现类编写即可,因为它本身就是java类,写的Java代码,我们直接判断即可
但是使用XML得时候,我们得sql是写在xml中的,这样就无法编写代码,那么就可以使用动态sql
1、if
if其中test属性使用的得就是ognl表达式,他在获取字段得时候,可以直接获取,不用编写#{}
2、where
where标签,之前在拼接条件查询的字符,会通过where 1=1进行 无条件查询。那么通过这个标签,会自动在sql后面添加where关键字进行拼接,并自动忽略 第一个and
3、Choose标签
这个标签相当于if。。else if
4、Set 标签
这个标签主要用于修改 举例: 编写接口 之前我们在进行数据修改的时候,我们到最后无论改不改动,都会自动提交,那么效率相当于在做无用功 那么我们就需要对像中的每个字段进行调用 但这总编写的有一个错误,那就是如果我们只改了某一个值得话,那么另一个值虽然不会拼接,但是第一个条件语句有一个‘,’ 但是又不能没有,所以无法避免这种情况
这个时候就可以使用set关键字了 这样就很好得解决问题
5、Trim标签
6、Foreach标签
需求: 当想要获得多个id得数据,sql应该是: 那我们 正常在程序中应该写 正常sql写法 但是我们想要操作,就需要用到forEach 其实我们在进行操作得时候,使用List,还有Array,都是存储在map中得,使用标签进行遍历
7、Bind标签
Bind标签主要用于模糊查询
模糊查询主要友两种方法,第一种是通过百分号,另一种是通过coucat
8、sql
在使用过程中,直接引入 如有帮助,请支持,一分不嫌少
下一篇:
sql 查询结果横向拼接