mybatis之choose标签

choose标签作用:

按顺序判断其内部when标签中的test条件出否成立,如果有一个成立,则 choose 结束,当 choose 中所有 when 的条件都不满足时,则执行 otherwise 中的sql。

类似于Java 的 switch 语句,choose 为 switch,when 为 case,otherwise 则为 default。

格式:

 <choose><when test="">sql语句</when><otherwise>sql语句</otherwise>
</choose>

例如:

需求:sort是一个整型字段,当sort=1时,按创建时间正序,sort=2时按创建时间倒序,否则按名称排序。

xml如下:

        <choose><when test="sort == 1">ORDER BY p.create_time</when><when test="sort == 2">ORDER BY p.create_time DESC</when><otherwise>ORDER BY name DESC</otherwise></choose>

mybatis之choose标签相关推荐

  1. Mybatis的choose标签

    1.choose标签介绍 choose标签作用条件判断来拼接指定的条件,它和if不太相同,choose似类于java中的switch语句用法,直要有条件成立,其它判断将得不到执行,如果所有条件都不成立 ...

  2. mybatis choose标签的使用

    有时候我们并不想应用所有的条件,而只是想从多个选项中选择一个.而使用if标签时,只要test中的表达式为 true,就会执行 if 标签中的条件.MyBatis 提供了 choose 元素.if标签是 ...

  3. mybatis choose标签的用法

    先上代码: <choose> <when test="BEGINTIME != null and BEGINTIME != '' and ENDTIME != null a ...

  4. 9.mybatis动态SQL标签的用法

    mybatis动态SQL标签的用法 动态 SQL MyBatis 的强大特性之一便是它的动态 SQL.如果你有使用 JDBC 或其他类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句有多么痛苦 ...

  5. mybatis 支持的标签操作

    62.mybatis支持的标签操作 mybatis只支持include|trim|where|set|foreach|choose|if这几个操作

  6. MyBatis中常见标签的使用

    1. <collection>标签 例如有两张表:user表 role表 那么我们再写实体类User .Role 的对应关系是,一个用户有多个角色,因此,在 User 的实体中加入一个 R ...

  7. MySQL中choose标签的用法

    MySQL中标签的用法 先给大家来个SQL语句: choose (when,otherwize) ,相当于java 语言中的 switch ,与 jstl 中 的 choose 很类似. SELECT ...

  8. Mybatis的where标签,还有这么多知识点

    背景 在上篇文章,我们系统地学习了where 1=1 相关的知识点,大家可以回看<不要再用where 1=1了!有更好的写法!>这篇文章.文章中涉及到了Mybatis的替代方案,有好学的朋 ...

  9. MyBatis 配置 settings 标签

    MyBatis 配置 settings 标签 1. 简介 2. Setting的详细配置信息 3.示例配置 1. 简介 MyBatis 的 是一个极其重要的标签调整,我们可以通过这个标签修改 MyBa ...

  10. Mybatis - xml文件标签中写注释

    Mybatis - xml文件标签中写注释 1.错误场景. ( /* */ 注释 ) 在IDEA中的直接使用快捷键注释 Ctrl + Shift + / 注释. SELECT t.name, t.ag ...

最新文章

  1. 地图相关应用系统部署到现场报错原因汇总
  2. java构造方法基础_Java 基础:构造方法
  3. anime studio的本质特性
  4. java生成字符_java中随机生成字符串的方法(三种)
  5. 【转】Roberts 算子
  6. C语言第6次上机,C语言第五次上机作业参考答案
  7. LINUX下载编译OpenAL Soft
  8. origin画图初步入门
  9. geoserver+全能下载器 发布离线地图
  10. 时间序列数据的平稳性检验
  11. SQL注入环境搭建及多种注入类型测试实验
  12. 互联网2018校招时间_供参考
  13. 打开conda环境报错:UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x9a in position 317: illegal multibyt
  14. windows命令——taskmgr 1
  15. 大型软件开发中的流程与规范
  16. 二次函数回归方程_高三专题||【导数专题四】利用导数研究函数图形专项习题...
  17. 简单几步解决ie打不开闪退的问题 亲测有效
  18. java初始化含十个数的数组_java初始化数组的方法
  19. 最小角回归 LARS算法包的用法以及模型参数的选择(R语言 )
  20. 最简单的方法更新黑苹果macOS教程

热门文章

  1. Gradle‘s dependency cache may be corrupt (this sometimes occurs after a network connection timeout)
  2. 本科生和研究生差距到底有多大?
  3. Chrome浏览器断网时的小恐龙dino怎么一直玩?
  4. 使用Nhibernate.Tool.Hbm2Net来根据HBML文件生成POJO类的代码
  5. 一首光辉岁月的歌词,送给自己
  6. 面试常问--你最大的长处和弱点分别是什么?这些长处和弱点对你在企业的业绩会有什么样的影响
  7. macOS Catalina 以上版本使用不了 PPTP协议的(shimo 无法正常使用)
  8. 计算机科学创新实验刘琦,刘琦----中国科学院微电子研究所
  9. This Week in Spring - July 9, 2013
  10. 阿里云LOGO在线设计入口说明