【Mybatis】如何在Mybatis XML文件中使用枚举变量

版权声明:作者写博是为了总结经验,和交流学习之用。 如需转载,请在文章页面明显位置给出原文连接。谢谢!如有问题,请留言! 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

猜你喜欢

转载自blog.csdn.net/changqing5818/article/details/84309768
今日推荐