首页 > 编程语言 >mybatis的xml如何使用java枚举

mybatis的xml如何使用java枚举

时间:2024-07-03 15:57:35浏览次数:18  
标签:xml task java name t2 t1 mybatis type id

mybatis的xml如何使用java枚举

使用方式

${@com.haier.baseManage.enums.LoganUploadTaskTypeEnum@LOG_TYPE.type}

例子

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.baseManage.mapper.LoganUploadTaskMapper">

    <sql id="table_cloumn">
        t1.id,
        t1.user_id,
        t1.user_name,
        t1.task_no,
        t1.log_start_time,
        t1.log_end_time,
        t1.extend,
        t1.if_pull_all_log,
        t1.reason,
        t1.status,
        t1.finish_time,
        t1.create_time,
        t1.create_by,
        t1.create_user_name,
        t1.update_time,
        t1.update_by,
        t1.update_user_name
    </sql>

    <select id="loganUploadTaskPage"
            resultType="com.baseManage.model.entity.LoganUploadTask"
            parameterType="com.baseManage.model.param.LoganTaskPageParam">
        SELECT
        <include refid="table_cloumn" />
        FROM logan_upload_task t1
        WHERE
        1 = 1
        <if test=" param.keyword != null and param.keyword != '' ">
            AND (
                t1.user_name LIKE CONCAT('%',#{param.keyword},'%') OR t1.user_id LIKE CONCAT('%',#{param.keyword},'%')
            )
        </if>
        <if test=" param.status != null">
            AND t1.status = #{param.status}
        </if>
        <if test=" param.logType != null and param.logType != ''">
            AND EXISTS(
                SELECT 1 FROM logan_upload_task_type t2 WHERE t1.id = t2.task_id
                AND t2.type = ${@com.baseManage.enums.LoganUploadTaskTypeEnum@LOG_TYPE.type}
                AND t2.name = #{param.logType}
            )
        </if>
        <if test=" param.deviceType != null and param.deviceType != ''">
            AND EXISTS(
                SELECT 1 FROM logan_upload_task_type t3 WHERE t1.id = t3.task_id
                AND t3.type = ${@com.baseManage.enums.LoganUploadTaskTypeEnum@DEVICE_TYPE.type}
                AND t3.name = #{param.deviceType}
            )
        </if>
        ORDER BY t1.create_time DESC ,t1.id DESC
    </select>

    <select id="runningTaskList" parameterType="com.baseManage.model.param.LoganTaskRunningTaskParam" resultType="com.baseManage.model.entity.LoganUploadTask">
        SELECT
        <include refid="table_cloumn" />
        , group_concat(t3.name) logType
        FROM logan_upload_task t1
        join logan_upload_task_type t2 on t1.id = t2.task_id and t2.type = ${@com.baseManage.enums.LoganUploadTaskTypeEnum@DEVICE_TYPE.type}
        join logan_upload_task_type t3 on t1.id = t3.task_id and t3.type = ${@com.baseManage.enums.LoganUploadTaskTypeEnum@LOG_TYPE.type}
        WHERE t1.user_id = #{userId}
        AND t1.status = ${@[email protected]}
        and (t2.name = #{deviceType} or t2.name = 'all')
        group by t1.id
    </select>

</mapper>

标签:xml,task,java,name,t2,t1,mybatis,type,id
From: https://blog.csdn.net/qq398581645/article/details/140100974

相关文章

  • 【JavaScript】聊聊js中关于this的指向
    前言最近在看回JavaScript的面试题,this指向问题是入坑前端必须了解的知识点,现在迎来了ES6+的时代,因为箭头函数的出现,所以感觉有必要对this问题梳理一下,所以刚好总结一下JavaScript中this指向的问题。什么是JavaScript在了解this指向的问题前,首先得了解一下什么是JavaScript......
  • Java jdk 1.8版本的下载与环境变量的配置
    一,jdk的下载1.首先进入Oracle的官网  JavaDownloads|Oracle中国我们可以看到最新版本的jdk下载2.往下翻到java8选择自己对应的操作系统和安装包点击下载 可能需要你注册一个Oracle的账号不想注册或者网络下载很慢的可以直接用这个链接下载      ......
  • 基于Java+Vue的智慧园区管理系统:创新园区运营模式,构建全方位企业服务体系(代码分享)
     前言:智慧园区管理系统是一个集成了多种功能的综合性系统,旨在通过信息化、智能化手段提升园区的管理效率和服务质量。以下是针对系统的各个功能模块的简要描述:一、楼栋管理会务管理:管理园区内的会议预约、会议室使用等。园区信息:展示园区的基本信息,如位置、面积、规划等。......
  • JavaScript
    JS引擎定义浏览器的核心是渲染引擎、JS引擎。JS引擎是用来执行JS代码的,JS引擎的快慢对网页速度有着重大影响。简单来说,JS解析引擎是能够“读懂JS代码并准确地给出代码运行结果的一段程序。”。对于静态语言而言,如C、C++、Java等,处理上述事情的叫做“编译器(compiler)”,对于动......
  • 基于Java+Vue的企事业移动培训考试系统:体系化培训管理,保障培训效果(代码分享)
     前言:企事业移动培训考试系统是一个集成多种功能的综合性平台,旨在为企业提供便捷、高效、灵活的在线培训和考试解决方案。以下是针对平台所列出的八个主要功能的详细解释:一、文档管理及在线预览允许企业上传、存储、管理和分享各种培训文档,如PPT、PDF、Word等。提供在线预......
  • Java使用分布式锁来防止重复提交
    1.分布式锁的使用场景分布式锁的使用场景包括以下几个方面:1)防止重复操作:在某些业务场景下,可能会出现多个客户端同时对同一资源进行修改或者访问的情况。为了避免这种情况发生,可以采用分布式锁来保证只有一个客户端能够成功获取到资源并执行相应操作。2)控制并发流量:在高......
  • Java使用分布式锁来做分布式任务调度
    步骤如下:1) 选择合适的分布式锁实现:常见的分布式锁实现包括ZooKeeper、Redis和基于数据库等。根据具体情况选择最佳方案。2) 获取分布式锁:在需要进行操作时,首先尝试获取分布式锁。如果成功获取到,则可以执行相应操作;否则说明已经有其他客户端正在处理该请求,此时可以直......
  • Java编程从入门到放弃
    1.配置开发环境安装JDK官网下载地址:https://www.oracle.com/java/technologies/downloads/配置环境变量最新版本JDK22无需手动配置环境变量。老版本:此电脑-右键属性-高级系统设置-环境变量-系统变量-Path-编辑C:\Java\jdk1.8.0_65\bin检查结果java-versionHelloWor......
  • springboot-mybatis-db2
    工程pom.xml文件增加如下依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency>&......
  • ArcGIS API for Javascript解决html2canvas、domtoimage截图地图出现空白问题
    原因使用html2canvas、domtoimage进行截图时,会出现地图面板是空白的情况,报错如下:#1133msUnabletocloneWebGLcontextasithaspreserveDrawingBuffer=false<canvasstyle=​"width:​100%;​height:​100%;​>在通过ArcGISAPIforJavaScript4.X版本实例化地图的......