您当前的位置: 首页 >  sql

暂无认证

  • 0浏览

    0关注

    101061博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

MyBatis 动态 SQL trim 的应用,可以添加或删除前缀或后缀

发布时间:2018-07-10 15:52:05 ,浏览量:0

MyBatis 动态 SQL trim 的应用,可以添加或删除前缀或后缀。

比如:你的查询需求是有一部分字段条件是 and 关系,而有一部分字段是 or 关系,例如:

Select * from tableName where 
a=1 and b=2 and c=3
and(
   d like '%a%' or e like '%b%'
)

那么 Where 的部分可以使用 Where 的功能,这样写:

SELECT * FROM BLOGstate = #{state}AND title like #{title}AND author_name like #{author.name}

可以看到  Where 条件中包含 if 条件语句,也就是可能存在根本没有条件的可能,那么使用标签,就能够实现如果没有任何条件的话,就不添加 Where 关键词的功能;同时还可以将条件语句中存在的第一个 AND 去掉。

但是遇到有一部分字段是 or 关系的情况怎么办呢?

就能实现这样一个神奇的功能!

先看几个官方的例子:

...

这个就可以代码上面的  标签的功能,使用方法就是用它来代替  标签。

再看看代替标签的方法:

update Authorusername=#{username},password=#{password},email=#{email},bio=#{bio}where id=#{id}

代替方法:

...

嗯嗯,它的用法你是不是已经学会了呢?

讲重点:

标签属性:prefix 要添加的前缀,suffix 要添加的后缀,prefixOverrides 要去掉的语句前面部分的内容,suffixOverrides 要去掉的语句后面部分的内容。

需求实现方法:

SELECT * FROM BLOGstate = #{state}AND title like #{title}AND author_name like #{author.name}OR title like #{title}OR author_name like #{author.name}

你看懂了吗?

官方文档只是给了简单的例子,标签都有哪些属性也没有全部列出来。

学习的时候还要连蒙带猜的。

关注
打赏
1655516835
查看更多评论
立即登录/注册

微信扫码登录

0.4289s