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

在使用过程中,直接引入 如有帮助,请支持,一分不嫌少

经验分享 程序员 微信小程序 职场和发展