Java mapper.xml中替换字典常量
-
曾经我把字典值直接写到xml文件中,这样维护的时候很麻烦
当字典值被产品经理修改时,我还得到xml文件中,一个一个的改。 -
于是创建了 一个专门维护常量的 interface
-
然后在其他地方用到字典值得时候,直接用对应的常量就行了
@ApiModelProperty(value = "行政区域; 数据字典 code= " + DictConstant.AREA, example = DictConstant.LUBEI_DISTRICT)
@Dict(value = {DictConstant.AREA}, message = "行政区域,不在取值范围内")
private String homeArea;
- 在对应的mapper.xml里替换的话,需要特殊的引用方式
${@包的路径.interface名@常量名}
SELECT v.ENTERPRISE_ID,
v.VEHICLE_TYPE,
1 AS emergency,
0 AS LNG,
0 AS CNG,
0 AS LPG
FROM TB_BASIC_VEHICLE v
WHERE v.VEHICLE_TYPE = ${@com.gas.constants.DictConstant@PIPELINE_GAS_ENTERPRISE}
AND be.ENTERPRISE_TYPE = ${@com.gas.constants.DictConstant@PIPELINE_GAS_ENTERPRISE}
AND gd1.DICT_CODE LIKE CONCAT(${@com.gas.constants.DictConstant@AREA},'0%')
AND gd2.DICT_CODE LIKE CONCAT(${@com.gas.constants.DictConstant@PIPELINE_GAS_ENTERPRISE_USER_TYPE},'0%')
这样一来,当再次修改字典值的时候,只需修改常量即可。