MyBatis动态SQL(常用标签)

2023-12-29 05:28:04

目录

标签--if

标签--trim

标签--where

标签--set

标签--foreach

和标签--sql和include


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

<if>标签--if

注解:

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

2.使用if标签

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

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

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

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

<trim>标签--trim

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

<trim>举例:

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

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

<where>标签--where

当所有条件为空时,使用<where>标签,运行成功。where标签会自动去除关键字where

使用注解的方式实现:

<set>标签--set

主要用于update语句

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

解决方式:

使用set标签

<foreach>标签--foreach

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

<sql>和<include>标签--sql和include

在xml映射文件中配置的SQL,有时可能会存在很多重复的片段,此时就会存在很多冗余的代码,
使用<sql>标签把共同的部分抽取出来,使用<include>标签使用共同的SQL语句

文章来源:https://blog.csdn.net/weixin_67793092/article/details/135205379
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。