Mybatis的choose标签
1、choose标签介绍
choose标签作用条件判断来拼接指定的条件,它和if不太相同,choose似类于java中的switch语句用法,直要有条件成立,其它判断将得不到执行,如果所有条件都不成立则执行otherwise标签中的内容。
格式:
<choose>
<when test=条件1>
执行的代码;
</when>
<when test=条件2>
执行的代码;
</when>
......
<otherwise>
执行的代码;
</when>
</otherwise>
</choose>
注意:直要有条件成立,其它判断将得不到执行
2、choose的使用
(1)编写接口方法
/**
* 查询符合条件的所有user对象
* @param user
* @return
*/
List<User> getUserDy02(Map map);
(2)sql语句编写
<!--choose:只要一个判断条件成立,其他判断不会执行-->
<select id="getUserDy02" parameterType="map" resultType="user">
select * from user
<where>
<choose>
<when test="uname!=null and uname!=''">
uname like '%${uname}%'
</when>
<when test="sex!=null and sex!=''">
and sex=#{sex}
</when>
<otherwise>
1=1
</otherwise>
</choose>
</where>
</select>
(3)测试
@Test
public void demo04(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
Map map=new HashMap<String,Object>();
//map.put("uname","赵");
//map.put("sex","男");
List<User> userList = mapper.getUserDy02(map);
System.out.println(userList.size());
sqlSession.close();
}
Mybatis的choose标签相关推荐
- mybatis choose标签的使用
有时候我们并不想应用所有的条件,而只是想从多个选项中选择一个.而使用if标签时,只要test中的表达式为 true,就会执行 if 标签中的条件.MyBatis 提供了 choose 元素.if标签是 ...
- mybatis choose标签的用法
先上代码: <choose> <when test="BEGINTIME != null and BEGINTIME != '' and ENDTIME != null a ...
- 9.mybatis动态SQL标签的用法
mybatis动态SQL标签的用法 动态 SQL MyBatis 的强大特性之一便是它的动态 SQL.如果你有使用 JDBC 或其他类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句有多么痛苦 ...
- mybatis 支持的标签操作
62.mybatis支持的标签操作 mybatis只支持include|trim|where|set|foreach|choose|if这几个操作
- MyBatis中常见标签的使用
1. <collection>标签 例如有两张表:user表 role表 那么我们再写实体类User .Role 的对应关系是,一个用户有多个角色,因此,在 User 的实体中加入一个 R ...
- MySQL中choose标签的用法
MySQL中标签的用法 先给大家来个SQL语句: choose (when,otherwize) ,相当于java 语言中的 switch ,与 jstl 中 的 choose 很类似. SELECT ...
- Mybatis的where标签,还有这么多知识点
背景 在上篇文章,我们系统地学习了where 1=1 相关的知识点,大家可以回看<不要再用where 1=1了!有更好的写法!>这篇文章.文章中涉及到了Mybatis的替代方案,有好学的朋 ...
- MyBatis 配置 settings 标签
MyBatis 配置 settings 标签 1. 简介 2. Setting的详细配置信息 3.示例配置 1. 简介 MyBatis 的 是一个极其重要的标签调整,我们可以通过这个标签修改 MyBa ...
- Mybatis - xml文件标签中写注释
Mybatis - xml文件标签中写注释 1.错误场景. ( /* */ 注释 ) 在IDEA中的直接使用快捷键注释 Ctrl + Shift + / 注释. SELECT t.name, t.ag ...
最新文章
- 首位猪心移植患者去世!术后存活2个月,创造医学里程碑;官方讣告:哀悼并感谢所作巨大贡献...
- 加拿大阿尔伯塔大学韩杰教授招收电子与计算机专业博士/博后
- 算法提高课-图论-欧拉回路和欧拉路径-AcWing 1184. 欧拉回路:有向图和无向图的欧拉回路
- b350主板支持cpu列表_惊!AMD旧主板通过这个方法竟也能支持PCIe4.0
- java -jar 和 java -cp用法
- Android 快速开发框架Afinal
- SAP UI5应用debug级别的日志打印如何设置
- 结合 AOP 轻松处理事件发布处理日志
- SQL最全基础教程(有本事别看啊!)
- Deecamp20 项目提交【如何用pcdet(second)跑自己的数据】
- OK6410移植UBOOT
- mysql用户标签表设计_「用户标签」在数据库设计时应该如何存储?
- php 九宫格验证码,用php数字九宫格.
- C++之父谈C++语言设计规则
- actions的使用详解
- Android 8.0 Activity启动流程分析
- 第七周 项目四-队列数组
- 仪控功能测试仿真设备ETest
- html5游戏 遥控器按键,遥控器按键功能说明汇总
- ESXI6.0 windows虚拟机 硬盘扩容实例...
热门文章
- [享学Eureka] 四、Eureka配置之:EurekaClientConfig客户端配置
- 陶哲轩:ChatGPT已加入我的数学工作流
- 完美日记、钟薛高等新消费品牌的崛起,给传统零售企业带来哪些启发?
- 【问题解决】安装pygal但是import pygal报错ImportError: cannot import name ‘Iterable‘ from ‘collections‘
- [Java Path Finder][JPF学习笔记][2]在Windows Server上安装JPF
- 超简单的C语言贪吃蛇 不闪屏 双缓冲
- TM4C USB-HID了解学习(二)
- use of CGLib-based proxies by setting proxyTargetClass=true on @EnableAsync and/or @EnableCaching
- wincc显示系统时间_在WINCC画面组态中,如何显示系统时间?-工业支持中心-西门子中国...
- 淘宝超级钻展怎么做?大神导航,一个神奇的网站,从此开启大神之路!