mybatis中的if-else使用及if嵌套使用
案例一:if-else
在使用mybatismapper动态sql时,不免会出现if-else的使用,但是好像又没有这种语法,提供的是choose标签代替if-else
例如:
select * from t_stu t
<where><choose><when test="query == 0">and t.status = 1 </when><otherwise>and t.status NOT IN (9,5)</otherwise></choose>and t.delete_status = 1
</where>
也可以用多个if判断实现:
select * from t_stu t
<where><if test="query == 0">and t.status = 1 </if><if test="query != 0">and t.status NOT IN (9,5)</if>and t.delete_status = 1
</where>
案例二:if嵌套
在实际编码过程中会有一些判断条件会一直重复使用,一直写在if标签中写的代码会特长,而且臃肿
select * from t_stu t
<where><if test="query == 0 and type = 1">and t.type = 'we' and t.delete = 1</if><if test="query == 0 and type = 2">and t.type = 'wq' and t.delete = 1</if><if test="query == 0 and type = 3">and t.type = 'wr' and t.delete = 1</if>
</where>
变现后:
select * from t_stu t
<where><if test="query == 0"><if test="type = 1">and t.type = 'we'</if><if test="type = 2">and t.type = 'wq'</if><if test="type = 3">and t.type = 'wr'</if></if>and t.delete = 1
</where>
mybatis中的if-else使用及if嵌套使用相关推荐
- mybatis与php,浅谈mybatis中的#和$的区别
浅谈mybatis中的#和$的区别 发布于 2016-07-30 11:14:47 | 236 次阅读 | 评论: 0 | 来源: 网友投递 MyBatis 基于Java的持久层框架MyBatis 本 ...
- MyBatis中#{}和${}的区别
------------------------siwuxie095 MyBatis 中 #{} 和 ${} 的区别 1.在 MyBatis 的映射配置文件中,动态传递参数有两种方式: (1)#{} ...
- Mybatis中Oracle和Mysql的Count字段问题
Mybatis中Oracle和Mysql的Count字段问题 我们在进行项目开发时经常会碰到查询总数的问题,所以我们直接是用select count(1) from table来进行查询.那么在Myb ...
- MyBatis中jdbcType=INTEGER、VARCHAR作用
Mapper.xml中 pid = #{pid,jdbcType=INTEGER} pid = #{pid} 都可以用 Mybatis中什么时候应该声明jdbcType? 当Mybatis不能自动识别 ...
- Mybatis 中$与#的区别
1 #是将传入的值当做字符串的形式,eg:select id,name,age from student where id =#{id},当前端把id值1,传入到后台的时候,就相当于 select i ...
- MyBatis中使用流式查询避免数据量过大导致OOM
欢迎关注方志朋的博客,回复"666"获面试宝典 今天mybatis查询数据库中大量的数据,程序抛出: java.lang.OutOfMemoryError: Java heap s ...
- 解决MyBatis中 Could not set property ~ o f ~异常
解决MyBatis中 Could not set property ~ of ~ public class Role {private Integer id; //idprivate String r ...
- 复习下mybatis 中 useGeneratedKeys 和 keyProperty 含义
今天突然碰到这个错误,让我复习下mybatis 中 useGeneratedKeys 和 keyProperty 含义 nested exception is org.apache.ibatis.ex ...
- rowbounds分页oracle,Oracle使用MyBatis中RowBounds实现分页查询功能
Oracle中分页查询因为存在伪列rownum,sql语句写起来较为复杂,现在介绍一种通过使用MyBatis中的RowBounds进行分页查询,非常方便. 使用MyBatis中的RowBounds进行 ...
- mybatis中的resultMap与resultType、parameterMap与 parameterType的区别
Map:映射:Type:Java类型 resultMap 与 resultType.parameterMap 与 parameterType的区别在面试的时候被问到的几率非常高,项目中出现了一个小b ...
最新文章
- iOS经典讲解之获取沙盒文件路径写入和读取简单对象
- html财务统计,财务统计.html · 珠烟/layuiadmin-templete - Gitee.com
- 脑机接口20年论文集汇总
- linux kernel中的中断处理流程
- 所谓的二维背包Triangular Pastures POJ 1948
- mysql存储过程报错_MySQL存储过程错误No data - zero rows fetched, selected, or processed
- 跨站请求伪造(CSRF/XSRF)
- 大数据时代,如何才能提高自身竞争力?
- Vue中的Js动画与Velocity.js 的结合
- Standard Deviation Normal Distribution
- 安卓第三阶段实训项目:基于网络乐库音乐播放器V1.0
- 修改系统时间,TFS会无法登陆
- 中缀表达式 转 前缀表达式
- java文件处理(3)——实现文件复制和文件移动
- 利用云服务器自动发送天气预报邮件
- Twincat3 硬件: 台湾DFI工业控制器,CPU1.1GHZ,RAM512
- 申请苹果开发者公司账号和邓白氏编码全流程
- poj-3295 Tautology
- 使用pano2vr创建全景图
- 手机照片误删怎么找回
热门文章
- CSDN博客给我带来的一些诱惑和选择机会
- 【AI视野·今日NLP 自然语言处理论文速览 第三期】Tue, 8 Jun 2021
- STM32H7B0 HAL OSPI配置的一次失败原因分享
- POJ1555-Polynomial Showdown
- java中eof错误是啥意思_EOFException异常详解
- 经纬度数据计算-JavaScript
- 基于Springboot+mybatis+mysql+html实现CRM智能办公系统
- oracle00312,ORA-00322 ORA-00312 恢复
- c语言共阳极数码管的数据,LY-51S(STC89C52R):8个共阴极数码管-程序(1)
- 笛卡尔坐标为什么叫Cartesian coordinate而不是Descartes coordinate?