Mybatis对于trim的运用
普通一般在mapper.xml的查询语句都是用where去拼接,基本是用不到trim,trim主要针对可以有很多,where能实现的,trim都可以实现,where实现不了的,trim也都可以实现
trim标签一共有4个属性prefix,prefixOverrides,suffix,suffixOverrides
第一个是预备固定的意思,是针对语句的最开始,就是当你trim中的动态sql全部执行拼接完毕时,他会在你这个sql语句的最前端加上这个属性中的属性值
第二个是预备固定重写的意思,也叫覆盖,和prefix意思相反,他会在你trim中的sql全部执行拼接完毕时,会以prefixOverrides中的属性值将sql语句中最前面的删掉,如果拼接完的sql语句是where and instr(),而你prefixOverrides中的属性值是and,最前面的sql是where,则不会删掉,如果是and instr(),则是将最前面的and删掉
第三个suffix是sql语句的最后面添加
第四个就是suffixOverrides,那就是sql语句的最后面覆盖
举例:
<trim prefix=”where” suffixOverrides=”and”>
If(name != null and name != ‘’>
and instr(columnname,#{columnvvalue})
</if>
<trim>
如有补充,欢迎评论,java刚起步,是个小萌新
文章详细介绍了Mybatis的trim标签在构建动态SQL时的作用,包括prefix前缀、prefixOverrides前缀覆盖、suffix后缀和suffixOverrides后缀覆盖属性。trim标签可以用于更灵活地处理SQL语句的拼接,尤其是在处理多个条件时,能避免多余的where或and等关键字。
985

被折叠的 条评论
为什么被折叠?



