枚举

mapper文件 ‘${@全路径名@枚举值.get属性()}’,则会解析出枚举值的属性常量值,放入sql语句中。
这里单引号’‘是因为${}占位符只是把值给填充进去,要表示字符串的话,加上单引号,不是字符串则不用加

常量

‘${@全路径名@常量名}’,会解析出常量值,放入sql语句中。

其实,方法、属性等也可以解析出来,就如同:类.静态属性、类.静态方法()。

注:内部类用$

例子

常量类:


package com.gbth.common.globalVar;
public class CommonConstant {
    /**
     * 常量1
     */
    public static final Integer WORK_REMIND_LIST_TYPE_NOTICE = 10;
    /**
     *  常量2
     */
    public static final Integer WORK_REMIND_LIST_TYPE_TALK = 20;
}

mapper文件sql使用:

<?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.cctv.modules.statistics.dao.AnalyDao">

    <select id="querySituationAnalyPage" resultType="java.util.HashMap" >
        SELECT orgid,orgname,policenumber,count(t.user_id) AS talkpolice,
        (CASE WHEN count(t.user_id)=0  THEN 0 ELSE ROUND((count(t.user_id)/policenumber), 3)*100 ||'%' END) AS finrate
        FROM (
        SELECT  so.id AS orgid,so.org_name AS orgname,
        count(su.id) AS policenumber
        FROM tb_dept so LEFT JOIN  sys_user su ON so.id =su.org_id
        GROUP BY so.id,so.org_name
        ) yy  LEFT JOIN (SELECT * FROM situationAnaly ta left join th_situatiy_user u ON ta.id=u.id
        WHERE 1=1 and ta.status in(${@com.gbth.common.globalVar.CommonConstant@WORK_REMIND_LIST_TYPE_NOTICE})) t
        ON yy.orgid=t.org_id
        GROUP BY orgid,orgname,policenumber
    </select>
</mapper>

其中 ${@com.gbth.common.globalVar.CommonConstant@WORK_REMIND_LIST_TYPE_NOTICE} 为引用常量。

更多推荐