IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> MyBatis xml文件的占位符 -> 正文阅读

[Java知识库]MyBatis xml文件的占位符

MyBatis xml文件的占位符

一、大于 大于等于 小于 小于等于 写法

(一)原始sql语句:

select sc_grade,  case
					 when sc_grade >0   and sc_grade <60   then '不及格'
					 when sc_grade >=60 and sc_grade <=70  then '及格'
					 when sc_grade >70  and sc_grade <=80  then '良好'
					 when sc_grade >80  and sc_grade <=90  then '中等'
					 when sc_grade >90  and sc_grade <=100 then '优秀'
					 else '其他' end as grade_rank 
from t_student_course where sc_date='2019-06-06' and course_id='2'

(二)Mybatis xml中的写法

写法一:

原符号: < <= > >= & ' "
替换符号: &lt; &lt;= &gt; &gt;= &amp; &apos; &quot;
注意: &lt 和 ";" 是一起的,不能分开

替换后:

select sc_grade, case
		when sc_grade &gt;= 0  and sc_grade &lt;  60 then '不及格'
		when sc_grade &gt;= 60 and sc_grade &lt;= 70 then '及格'
		when sc_grade &gt;= 70 and sc_grade &lt;= 80 then '良好'
		when sc_grade &gt;= 80 and sc_grade &lt;= 90 then '中等'
		when sc_grade &gt;= 90 and sc_grade &lt;= 100 then '优秀'
		else '其他' end as grade_rank 
from t_student_course where sc_date=#{sc_date} and course_id=#{course_id}

写法二:

>= 的写法      <![CDATA[ >= ]]>

<= 的写法      <![CDATA[ <= ]]>

替换后:

select sc_grade, case
	 when sc_grade <![CDATA[ >= ]]> 0 and sc_grade <![CDATA[ < ]]>   60 then '不及格'
	 when sc_grade <![CDATA[ >= ]]> 60 and sc_grade <![CDATA[ <= ]]> 70 then '及格'
	 when sc_grade <![CDATA[ > ]]>  70 and sc_grade <![CDATA[ <= ]]> 80 then '良好'
	 when sc_grade <![CDATA[ > ]]>  80 and sc_grade <![CDATA[ <= ]]> 90 then '中等'
	 when sc_grade <![CDATA[ > ]]>  90 and sc_grade <![CDATA[ <= ]]> 100 then '优秀'
	 else '其他' end as grade_rank 
from t_student_course where sc_date=#{sc_date} and course_id=#{course_id}

(三)项目实战经典写法

mapper 接口:

 /**
     * 根数是否预期,查询养护设施记录
     *
     * @param page
     * @param isWarning
     * @return
     */
    IPage<FacilityMaintenanceVO> getMaintenanceListByWarning(Page<FacilityMaintenanceVO> page, @Param("isWarning")Boolean isWarning);

mybatis 的xml 文件:

 <select id="getMaintenanceListByWarning" resultType="com.vortex.cloud.jcss.reborn.vo.FacilityMaintenanceVO"
            parameterType="java.lang.Boolean">

        SELECT jf.id as facility_Id,jf.`name` AS facility_name,jft.name AS
        facility_class_name,jf.`type_id` as facility_class_id,jf.`division_id`,jf.`manage_unit_id`,
        jf.`recent_maintain_date`,jf.`default_maintain_date`,jft.is_regular_maintenance,jft.maintain_period,
        jft.is_regular_maintenance,jf.`recent_maintain_date`,jf.`default_maintain_date`,jf.address,jf.geo_location
        FROM `jcss_facility` jf
        LEFT JOIN `jcss_facility_type` jft ON jf.`type_id`=jft.`id`
        <where>
            jft.`is_regular_maintenance` = TRUE AND jf.`deleted`=FALSE AND jft.`deleted`= FALSE
            <if test="isWarning">
                and UNIX_TIMESTAMP(
                CASE WHEN jft.`maintain_period` = 'WEEK' THEN DATE_ADD(`recent_maintain_date`,INTERVAL 1 WEEK)
                WHEN jft.`maintain_period` = 'MONTH' THEN DATE_ADD(`recent_maintain_date`,INTERVAL 1 MONTH)
                WHEN jft.`maintain_period` = 'QUARTER' THEN DATE_ADD(`recent_maintain_date`,INTERVAL 3 MONTH)
                WHEN jft.`maintain_period` = 'HALF_YEAR' THEN DATE_ADD(`recent_maintain_date`,INTERVAL 6 WEEK)
                WHEN jft.`maintain_period` = 'YEAR' THEN DATE_ADD(`recent_maintain_date`,INTERVAL 1 YEAR)
                END) &gt; UNIX_TIMESTAMP(`recent_maintain_date`)
            </if>

            <if test="!isWarning">
                and UNIX_TIMESTAMP(
                CASE WHEN jft.`maintain_period` = 'WEEK' THEN DATE_ADD(`recent_maintain_date`,INTERVAL 1 WEEK)
                WHEN jft.`maintain_period` = 'MONTH' THEN DATE_ADD(`recent_maintain_date`,INTERVAL 1 MONTH)
                WHEN jft.`maintain_period` = 'QUARTER' THEN DATE_ADD(`recent_maintain_date`,INTERVAL 3 MONTH)
                WHEN jft.`maintain_period` = 'HALF_YEAR' THEN DATE_ADD(`recent_maintain_date`,INTERVAL 6 WEEK)
                WHEN jft.`maintain_period` = 'YEAR' THEN DATE_ADD(`recent_maintain_date`,INTERVAL 1 YEAR)
                END) &lt; UNIX_TIMESTAMP(recent_maintain_date)
            </if>
        </where>
    </select>

关注林哥,持续更新哦!!!★,°:.☆( ̄▽ ̄)/$:.°★ 。

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-03-10 22:17:51  更:2022-03-10 22:18:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 12:09:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码