版权声明:作者写博是为了总结经验,和交流学习之用。 如需转载,请在文章页面明显位置给出原文连接。谢谢!如有问题,请留言! https://blog.csdn.net/changqing5818/article/details/84309768
背景说明
我们程序中经常将一些状态值归类成枚举类,并不想在XML中将枚举值写死,于是出现了这篇文章,参考了很多文章,找到一种最简单的方式,记录下来,与君分享。
枚举类
package com.test.constant;
public enum AnimalEnum {
DOG("dog"),
CAT("cat"),
private String type;
AnimalEnum(String type) {
this.type= type;
}
public String type() {
return this.type;
}
public static boolean isDog(String type) {
return DOG.type().equals(type);
}
}
使用场景
场景一:在mapper文件中,想判断一个参数的值是否跟 AnimalEnum.DOG的值是否一致
<if test="[email protected]@isDog(type)" >
AND p.animal_type=#{type}
</if>
场景二:在mapper文件中,根据不同的type,查询不同的字段
SELECT PK_ID,
(CASE WHEN '${type}' = '${@[email protected]()}'
THEN ANIMAL_EN_NAME
ELSE ANIMAL_CN_NAME
END
FROM TEST_TABLE