MyBatis 动态sql移除最后的逗号 mybatis trim标签用法 Mybatis 去掉最后的逗号符号

        MyBatis 动态sql移除最后的逗号 mybatis trim标签用法 Mybatis 去掉最后的逗号符号

一、概述

        在使用MyBatis 写动态sql时,经常会遇到要移除最后多余的 符号 ,and , or之类的关键字 ; 还有可能需要移除的前缀 where , set 等关键字; 还有可能要在 sql的 最前面、最后面 添加 括号之类的操作。 可以在java代码中 生成对应的sql ,然后使用 ${sql}

        可否直接在MyBatis中实现呢,答案是有的, MyBatis trim 标签 即可实现上述功能,本文将讲解 MyBatis trim 标签的用法。

二、代码理解

        1、 标签 有以下4个属性 :

MyBatis 动态sql移除最后的逗号 mybatis trim标签用法 Mybatis 去掉最后的逗号符号_第1张图片

2、四个属性作用分别是

      • prefix : 标签内,最前面追加内容
      • prefixOverrides :标签内,最前面移除内容
      • suffix : 标签内,尾巴追加内容
      • suffixOverrides : 标签内,尾部移除内容

3、测试sql

4、最终执行的sql如下:

select
    1 as id ,
    '小明' as name
from dual
    
where
    ( 1 = 1
and 'hh' = 'hh'
and 2 = 2 )

三、总结

        1、MyBatis trim标签作用:

        在标签内,动态的添加或移除 文本 ,若用同时移除多个可能是文本,需要用 管道符 进行分割。

// 移除头部可能的符号: ;、,、! 。
prefixOverrides=";|,|!" 

        2、trim 标签 4个属性,执行的顺序是:

1、 prefixOverrides: 移除头部符合条件的文本

2、 prefix: 添加头部的文本

3、 suffixOverrides:移除末尾符合条件的文本

4、 suffix:添加末尾的文本

参考资料:MyBatis 官方文档【trim】

 

你可能感兴趣的:(MyBatis,mybatis,java,mybatis,trim标签)