MyBatis动态SQL(常用标签)

目录

标签--if

标签--trim

标签--where

标签--set

标签--foreach

和标签--sql和include


根据需求,动态拼接SQL,下面的标签示范使用xml的方式演示。

标签--if

MyBatis动态SQL(常用标签)_第1张图片

MyBatis动态SQL(常用标签)_第2张图片

注解:

1.要把全部的SQL放在script标签下

2.使用if标签

可以观察到:使用注解的方式比较复杂,下面介绍使用xml的方式

MyBatis动态SQL(常用标签)_第3张图片

MyBatis动态SQL(常用标签)_第4张图片

观察可以发现:xml方式里的SQL内容与注解方式中script标签内的内容是一样的,但xml更加易读、书写时也会有提示。

建议:简单SQL使用注解,动态SQL使用xml

缺点:一些属性为空时,除了数值之外的一些符号的位置会影响程序是否能够正常运行,下面标签就可以使代码得到优化。

标签--trim

标签可以帮我们去掉多余的字符

MyBatis动态SQL(常用标签)_第5张图片

MyBatis动态SQL(常用标签)_第6张图片

举例:

MyBatis动态SQL(常用标签)_第7张图片

添加标签之后,运行结果:

MyBatis动态SQL(常用标签)_第8张图片

标签还是会有一些麻烦,下面介绍的标签会更加简便。并且当所有条件都为空时,SQL语句会变成select * from userinfo where

MyBatis动态SQL(常用标签)_第9张图片

标签--where

MyBatis动态SQL(常用标签)_第10张图片当所有条件为空时,使用标签,运行成功。where标签会自动去除关键字where

MyBatis动态SQL(常用标签)_第11张图片

使用注解的方式实现:

MyBatis动态SQL(常用标签)_第12张图片

标签--set

主要用于update语句

update userinfo set a=? , b=? where c=?

MyBatis动态SQL(常用标签)_第13张图片

解决方式:

MyBatis动态SQL(常用标签)_第14张图片

使用set标签

MyBatis动态SQL(常用标签)_第15张图片

标签--foreach

delete from userinfo where id in(25,26,27)

MyBatis动态SQL(常用标签)_第16张图片

MyBatis动态SQL(常用标签)_第17张图片

标签--sql和include

在xml映射文件中配置的SQL,有时可能会存在很多重复的片段,此时就会存在很多冗余的代码,
使用标签把共同的部分抽取出来,使用标签使用共同的SQL语句
MyBatis动态SQL(常用标签)_第18张图片

你可能感兴趣的:(JavaEE,mybatis,sql,java)