首页 > 其他分享 >Mybatis之动态查询:choose、when和otherwise标签使用

Mybatis之动态查询:choose、when和otherwise标签使用

时间:2023-07-28 15:12:58浏览次数:39  
标签:roleType 标签 when 查询 role choose Mybatis

【使用场景】
有的时候,我们需要根据不同的选择,关联不同的表,这个时候<choose/><when/>和<otherwise>标签就发挥作用了。
比如说,内部用户和外部用户表是分开的,在查询用户的时候,我们就需要根据角色类型去选择不同的关系表进行关联。

SELECT
*
FROM role r
LEFT JOIN
<!-- 当角色分类选择分包商的时候.就和用户分包商角色表进行关联查询;否则,就和用户角色表关联查询.-->
<choose>
<when test="roleVo.roleType != null and roleVo.roleType == @com.test.constant.RoleConstant@SUB_CONTRACTOR_ROLE_TYPE">
user_sub_contractor_role u
</when>
<otherwise>
user_role u
</otherwise>
</choose>
on u.role_id=r.id
WHERE
... ...

标签:roleType,标签,when,查询,role,choose,Mybatis
From: https://www.cnblogs.com/heyi-77/p/17587663.html

相关文章

  • mybatis常用xml语法
    @Select("<script>"+"select"+"vga.plate_typeasplateType,"+"count(plate_info)ascounts"+"from"+"vehicle_gangqu_all......
  • Mybatis的工作原理
    1、读取Mabatis配置文件mabatis-config.xml为MyBatis的全局配置文件,配置了MaBatis的运行环境等信息,例如数据库连接信息。2、加载映射文件加载通过Mapper.xml配置或者注解的SQL映射,该文件中配置了操作数据库的SQL语句,需要在MaBatis配置文件mabatis-config.xml中加载。3、构造会话工......
  • 领略MyBatis-Flex的魅力
    一、MyBatis-Flex是什么MyBatis-Flex是一个优雅的MyBatis增强框架,它非常轻量、同时拥有极高的性能与灵活性。我们可以轻松的使用Mybaits-Flex链接任何数据库,其内置的QueryWrapper帮助我们极大的减少了SQL编写的工作的同时,减少出错的可能性。总而言之,MyBatis-Flex能够极......
  • 超越 Mybatis-Plus?超强 ORM 框架横空出世!
    点击“终码一生”,关注,置顶公众号每日技术干货,第一时间送达!1、MyBatis-Flex是什么MyBatis-Flex是一个优雅的MyBatis增强框架,它非常轻量、同时拥有极高的性能与灵活性。我们可以轻松的使用Mybaits-Flex链接任何数据库,其内置的QueryWrapper^亮点帮助我们极大的减少了SQL编写......
  • Mybatis-plus学习
    简介:MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。架包依赖<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.28</version></dependency><dependency> <groupId>org.......
  • mybatis-plus:主键id、uuid
    mysql-8.0.33-winx64.zip(免安装版)springboot2.7.13Java8mybatis-plus-boot-starter3.5.3.1-- 序言本文测试&记录springboot项目中使用mybatis-plus时,主键(整型的id、字符串型的uuid)的生成。 准备工作mybatis-plus的springboot版本:<dependency> <g......
  • Mybatis从入门到精通深入学习路线?
    Mybatis从入门到精通深入学习路线?1.MyBatis基本概念和原理:-学习MyBatis的基本概念,包括SqlSessionFactory、SqlSession、Mapper等的作用和关系。-了解MyBatis的工作原理,包括SQL解析、参数映射、结果集映射等核心流程。2.环境搭建和配置:-下载MyBatis和相关依赖,并配置开发环境......
  • MyBatis
    MyBatis一.简介1.是什么MyBatis是一个优秀的基于java的持久层框架,它内部封装了JDBC,使开发者只需要关注SQL语句本身,而不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。MyBatis通过XML或注解的方式将要执行的各种statement配置起来,并通过JAVA对象和stateme......
  • mybatis-plus分页插件之count优化
    分页插件配置packagecom.example.demo.conf;importcom.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;importcom.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;importorg.mybatis.spring.annotation.MapperScan;import......
  • MyBatisPlus入门案例
              ......