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

背景说明

我们程序中经常将一些状态值归类成枚举类,并不想在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的值是否一致


  AND  p.animal_type=#{type}

场景二:在mapper文件中,根据不同的type,查询不同的字段

SELECT PK_ID,  
	(CASE WHEN '${type}' = '${@[email protected]()}' 
		THEN ANIMAL_EN_NAME
		ELSE ANIMAL_CN_NAME
	END
FROM TEST_TABLE

你可能感兴趣的:(Java,Web)