动态查询--(choose,when,otherwise)
来源:互联网 发布:电视怎么调成网络电视 编辑:程序博客网 时间:2024/06/06 03:00
<select id="findUserInfoByOneParam" parameterType="Map" resultMap="UserInfoResult"> select * from userinfo <choose> <when test="searchBy=='department'"> where department=#{department} </when> <when test="searchBy=='position'"> where position=#{position} </when> <otherwise> where gender=#{gender} </otherwise> </choose> </select>
备注:
a.请注意这里的【select * from userinfo 】之后没有再写where语句
b.配合使用是等价于java中的if…elseIf…else
c.按照官方文档给的示例,最后的是需要存在的,但是经过测试,即使最后的没有写,Mybatis也不会发生任何异常。而是将所有表数据返回。这是一种极为不推荐的做法。实际生产环境下,如果该表的数据量非常大,这条语句被执行,就是一个巨大的坑!
d.再特别说明一下,请注意,每一个等号后面的参数都带有单引号。这是这种用法必须必须必须有的。否则,就是直接抛异常!
<select id="findUserInfoByOneParam" parameterType="Map" resultMap="UserInfoResult"> select * from userinfo <choose> <when test="department!=null"> where department=#{department} </when> <when test="position!=null"> where position=#{position} </when> </choose> </select>
e.上面这段代码,还有一个值得注意的地方就是,两个when之间的顺序是有关系的。即,如果第一个when满足条件,第二个就不会影响查询结果,和if..else类似,请读者自行尝试,观察控制台输出。
f.最后,补充一点,就是的子元素就只能包含
阅读全文
0 0
- 动态查询--(choose,when,otherwise)
- 动态SQL(choose, when, otherwise)
- Mybatis最入门---动态查询(choose,when,otherwise)
- Mybatis最入门---动态查询(choose,when,otherwise)
- Mybatis最入门---动态查询(choose,when,otherwise)
- mybatis学习之路----动态sql之choose when otherwise
- mabatis标签 choose (when, otherwise)
- MyBatis choose(when, otherwise)标签
- 自定义choose,when,otherwise标签
- Mybatis choose (when, otherwise)标签
- Mybatis choose (when, otherwise)标签
- xsl:choose, xsl:when 和 xsl:otherwise
- JSTL:--choose,when,otherwise标签实例
- [c.y.j]mybatis choose when otherwise
- c:choose、c:when、c:otherwise 使用
- <c:choose> <c:when> <c:otherwise>--------JSTL
- <c:choose>, <c:when>, <c:otherwise> 标签
- <c:choose>、<c:when>和<c:otherwise>
- Zookeeper
- jQuery库笔记1
- Java并发编程艺术笔记
- grok表达式学习
- 如何制作关于pos.txt序列的文件
- 动态查询--(choose,when,otherwise)
- Dubbo:来自于阿里巴巴的分布式服务框架
- Android的IPC机制(四)—— Messenger的使用及源码分析
- 利用C++编译器去编译C的库
- Prism研究(for WPF & Silverlight)6.StockTrader RI研究
- 事件冒泡的阻止和应用场景
- 细思极恐,人工智能是否真的会形成自我意识?
- 多方法教你如何去掉WPS文字2013中的换行符
- GetHashCode