mybatis判断列挙値の使用

1251 ワード

実はこれは少し余計だと言われていますが、直接値を書くことができるのに、例えば:

直接値を0と書けばいいのですが、はい、確かにそうですが、これでは誰が0が何なのか知っていますか?もちろん文書や他の場所で調べても答えは得られるかもしれませんが、個人が以前の項目で値を書き殺して文書にも注釈が見つからない場合があったため、現在は値を書き殺す場合を列挙する傾向にあります.
/**
 *       
 */
public enum InternationalEnumUtil {
    ALL(0, "  "), YES(1, " "), NO(2, " ");
    private int v;
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getV() {
        return v;
    }

    public void setV(int v) {
        this.v = v;
    }

    private InternationalEnumUtil(int v,String name){
        this.v=v;
        this.name=name;
    }
    public static boolean isEquals(String enumName, int code) {
        return InternationalEnumUtil.valueOf(enumName).getV() == code;
    }
}


列挙クラスの一番下にisEqualsメソッドを書いてmybatisのxmlでこのクラスを呼び出します



これで直接判断できますが、notは使えます!代替効果は次のコードと同じです.



これは確かに面倒ですが、プロジェクトの維持には個人的に意味が大きいと思います.