choose标签是按顺序判断其内部when标签中的test条件出否成立,如果有一个成立,则 choose 结束。当 choose 中所有 when 的条件都不满则时,则执行 otherwise 中的sql。类似于Java 的 switch 语句,choose 为 switch,when 为 case,otherwise 则为 default。例如下面例子,同样把所有可以限制的条件都写上,方面使用。choose会从上到下选择一个when标签的test为true的sql执行。安全考虑,我们使用where将choose包起来,放置关键字多于错误。
<!-- choose 判断 -与java中 if else if相同用法 -->
<select id="selectVillageDynamicsCount" parameterType="Map" resultType="int">select count(1) from  User a where a.del_flag = 0<if test="maps.circle_home_id == null || maps.circle_home_id == '' "><choose><when test="maps.dynamic_type == 1 ">and (a.type ='1'||a.type='2'||a.type='3')</when><when test="maps.dynamic_type == 2 ">and a.type = '3'</when><otherwise>and (a.type ='1'||a.type='2'||a.type='3')</otherwise></choose></if><if test="maps.circle_home_id != null">and a.circle_home_id = #{maps.circle_home_id}</if><if test="maps.home_id != null">and a.home_id in(#{maps.home_id})</if><if test="maps.company_id != null">and a.company_id = #{maps.company_id}</if>
</select>

mybatis choose用法相关推荐

  1. mybatis choose when用法

    mybatis choose when的用法: mapper.xml: <select id="query" resultType="map" param ...

  2. SSM项目使用Mybatis通用mapper插件tk.mybatis的用法

    SSM项目使用Mybatis通用mapper插件tk.mybatis的用法 https://blog.csdn.net/qq_40060806/article/details/82949722 TKm ...

  3. MyBatis choose、when和otherwise标签简介说明

    转自: MyBatis choose.when和otherwise标签简介说明 MyBatis 中动态语句 choose-when-otherwise其功能: 同Java中的switch-case-d ...

  4. mybatis choose标签的用法

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

  5. mybatis collection用法_Mybatis中强大的resultMap

    前言 在Mybatis中,有一个强大的功能元素resultMap.当我们希望将JDBC ResultSets中的数据,转化为合理的Java对象时,你就能感受到它的非凡之处.正如其官方所述的那样: re ...

  6. Mybatis choose使用

    Mybatis的choose类似于java中的switch 具体用法如下: select * from table <where><choose><!-- when类似于 ...

  7. Mybatis @SelectKey用法

    @SelectKey 用处 主要用来解决主键自增问题 用法 @SelectKey(statement="SELECT LAST_INSERT_ID()", keyProperty= ...

  8. mybatis choose标签的使用

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

  9. mybatis generator用法

    1.建好数据库 2.下载 http://blog.mybatis.org/p/products.html 3.取出jar包 mybatis-generator-core-1.3.2.jar 4.建造好 ...

最新文章

  1. Go 语言编程 — go-swagger OpenAPI 工具
  2. 1996黄金一代NBA选秀
  3. mysql mysql_row 整行数据_有关mysql中ROW_COUNT()的小例子
  4. STM32 (Cortex-M3) 中NVIC(嵌套向量中断控制)的理解
  5. python3 Crypto使用出现的问题
  6. Python基础【day02】:元组和购物车练习的知识点
  7. 对于linux socket与epoll配合相关的一些心得记录
  8. Microsoft PetShop 3.0 设计与实现 分析报告―――数据访问层
  9. 这家中国企业和星巴克对着干 年亏16亿却成为全球最快上市公司
  10. 传递HTML字符串virtual,理解Virtual DOM(1) 真实DOM和虚拟DOM的映射
  11. 堆排序、快速排序、归并排序总结
  12. wget 下载百度网盘文件
  13. 程序猿DD元旦送书:第二弹!
  14. 【MySQL】MySQL安装图解
  15. GY-BMP280-3.3 高精度大气压强传感器模块
  16. python如何定义函数k_Python 函数
  17. ROS 简单的跨浏览器通信
  18. 2. Hadoop的安装(这你都没装好,我就服了)
  19. 【环境部署系列 04】Ascend 310(推理)ARM服务器 Ubuntu系统环境部署
  20. [寒江孤叶丶的Cocos2d-x之旅_17]Cocos2d-x 3.2版本以上LUA脚本热更新(动态更新)解决方案

热门文章

  1. 心到抢票:最具有人情味儿的抢票软件
  2. 【追光者】大学即(已)将(经)毕业,四年,我的所感所想(部分)。
  3. 【JavaScript速成之路】JavaScript对象
  4. 关于我,一个35岁的老程序员的心路历程
  5. DATEDIF函数实例
  6. 2.阻容耦合静态工作点稳定电路的静态工作点及电压放大倍数测试
  7. 使用cli安装uni-app后uni-ui的引入
  8. c语言大作业走迷宫,C语言笔记07_小游戏设计——“走迷宫”
  9. 不可用来编辑html的文件,上网浏览器主页无法修改的解决办法
  10. 格林威治时间和北京时间的时差