mapper里 if标签,when标签的等于是==

Posted JAVA开发

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mapper里 if标签,when标签的等于是==相关的知识,希望对你有一定的参考价值。

嗷嗷

 

mybatis里choose里可以写多个when吗?

比如
<choose>
<when>
</when>
<when>
</when>
<when>
</when>
<otherwise>
</otherwise>

</choose>

参考技术A 是可以的。给你一段官方翻译文档。
choose, when, otherwise
有些时候,我们不想用到所有的条件语句,而只想从中择其一二。针对这种情况,MyBatis 提供了 choose 元素,它有点像 Java 中的 switch 语句。
还是上面的例子,但是这次变为提供了“title”就按“title”查找,提供了“author”就按“author”查找,若两者都没有提供,就返回所有符合条件的BLOG(实际情况可能是由管理员按一定策略选出BLOG列表,而不是返回大量无意义的随机结果)。
<select id="findActiveBlogLike"
resultType="Blog">
SELECT * FROM BLOG WHERE state = ‘ACTIVE’
<choose>
<when test="title != null">
AND title like #title
</when>
<when test="author != null and author.name != null">
AND author_name like #author.name
</when>
<otherwise>
AND featured = 1
</otherwise>
</choose>
</select>本回答被提问者采纳
参考技术B 可以 相当 switch 多个 case 然后 default

以上是关于mapper里 if标签,when标签的等于是==的主要内容,如果未能解决你的问题,请参考以下文章

MyBatis—07—DQL: 动态SQL查询;

mybatis里choose里可以写多个when吗?

choose标签可以单独使用吗

动态SQL (if , choose (when, otherwise) , trim (where, set) , set, foreach)

20180813

thinkphp 比较标签