美文网首页
mybatis判断使用枚举值

mybatis判断使用枚举值

作者: 毛仑上保罗先生 | 来源:发表于2018-03-21 19:25 被阅读0次

其实有人说这样有点多余了, 明明可以直接把值写死啊,比如:

<select id="getCityCodes">
  <if test="isInternational==0"></if>
</select

直接把值写成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中就调用这个类

<if test="not @xxxClass.InternationalEnumUtil@isEquals('ALL',isInternational)">
</if>

这样就能直接判断了 ,not可以用 ! 代替 其效果和下列代码一样

<if test="isInternational !=0">
</if>

这样确实是麻烦些, 但是对于项目维护个人认为意义极大

相关文章

  • mybatis判断使用枚举值

    其实有人说这样有点多余了, 明明可以直接把值写死啊,比如: 直接把值写成0就好了, 是的, 确实可以这样,但是这...

  • mybatis中使用枚举判断

    需求:1:联盟/部落玩家查询在线人数时只能查本阵营2:管理员可以查询所有 枚举类 此处我直接使用了lombok插件...

  • mybaits if 标签中使用枚举判断

    mybaits if 标签中使用枚举判断 枚举定义 if标签中使用

  • java枚举笔记

    定义枚举 枚举使用关键字enum定义,枚举值一般使用大写字母,值之间用逗号隔开。例如定义一个颜色的枚举。 枚举使用...

  • Swift 基础笔记 - 枚举

    枚举 OC定义和使用枚举 Swift定义枚举类型 Swift判断枚举类型 枚举成员类型

  • Mybatis枚举使用

    枚举定义如下: 实体如下: 下面新增实体对象sex属性值为:SexEnum.nan,SQL中ID都自己设置,主要是...

  • Swift 5 枚举

    枚举 关联值: 枚举的成员值和其他类型的值关联储存,存储在枚举变量中 原始值: 枚举成员使用相同的默认值预先对应,...

  • iOS开发常见问题-枚举值

    枚举值的某个规律 凡是使用了1 << n格式的枚举值, 都可以使用|进行组合使用

  • vue项目中枚举值统一维护管理

    由于多页面有时需要共同的表单枚举选择,页面以及table需要显示枚举值label以及有时需要根据枚举值判断,故个人...

  • swift基础——枚举

    枚举的基本用法 枚举的名称建议大写开头,成员名小写开头 枚举定义 枚举值使用 关联值 有时会将枚举的成员值跟其他类...

网友评论

      本文标题:mybatis判断使用枚举值

      本文链接:https://www.haomeiwen.com/subject/qaknqftx.html