我是
靠谱客的博主
狂野水蜜桃,最近开发中收集的这篇文章主要介绍
动态 SQL_条件语句_ choose, when, otherwise,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
有些时候,我们不想用到所有的条件语句,而只想从中择其一二。针对这种情况,MyBatis 提供了 choose 元素,它有点像 Java 中的 switch 语句。
还是上面的例子,但是这次变为提供了"title"就按"title"查找,提供了"author"就按"author"查找,若两者都没有提供,就返回所有符合条件的BLOG(实际情况可能是由管理员按一定策略选出BLOG列表,而不是返回大量无意义的随机结果)
SELECT * FROM TNotific
<where>
<choose>
<when test="method != null">
and Method = #{method,jdbcType=VARCHAR}
</when>
<when test="statusOfread != null">
and StatusOfread = #{statusOfread,jdbcType=VARCHAR}
</when>
<otherwise>
and BizCaseId = #{bizCaseId,jdbcType=VARCHAR}
</otherwise>
</choose>
</where>
入参
String statusOfread = "0"; | String method = "PUSH"; | String bizCaseId = "10000000012028"; |
执行SQL 和参数
SELECT * FROM TNotific WHERE Method = ? |
Parameters: PUSH(String) |
入参
String statusOfread = "0"; | String method = null; | String bizCaseId = "10000000012028"; |
执行SQL 和参数
SELECT * FROM TNotific WHERE StatusOfread = ? |
Parameters: 0(String) |
入参
String statusOfread = null; | String method = null; | String bizCaseId = "10000000012028"; |
执行SQL 和参数
SELECT * FROM TNotific WHERE BizCaseId = ? |
Parameters: 10000000012028(String) |
入参
String statusOfread = null; | String method = null; | String bizCaseId = null; |
执行SQL 和参数
SELECT * FROM TNotific WHERE BizCaseId = ? |
Parameters: null |
最后
以上就是狂野水蜜桃为你收集整理的动态 SQL_条件语句_ choose, when, otherwise的全部内容,希望文章能够帮你解决动态 SQL_条件语句_ choose, when, otherwise所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复