Mybatis 使用枚举作为查询条件

🚀 作者主页: 有来技术

🔥 开源项目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot

🌺 仓库主页: Gitee 💫 Github 💫 GitCode

💖 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请纠正!

枚举

java 复制代码
package com.youlai.system.common.enums;
/**
 * 菜单类型枚举
 *
 * @author haoxr
 * @since 2022/4/23 9:36
 */

public enum MenuTypeEnum implements IBaseEnum<Integer> {

    NULL(0, null),
    MENU(1, "菜单"),
    CATALOG(2, "目录"),
    EXTLINK(3, "外链"),
    BUTTON(4, "按钮");

    @Getter
    @EnumValue //  Mybatis-Plus 提供注解表示插入数据库时插入该值
    private Integer value;

    @Getter
    // @JsonValue //  表示对枚举序列化时返回此字段
    private String label;

    MenuTypeEnum(Integer value, String label) {
        this.value = value;
        this.label = label;
    }
}

mapper.xml

xml 复制代码
    <!-- 获取权限和拥有权限的角色列表 -->
    <select id="getRolePermsList" resultMap="PremRolesMap">
        SELECT
            t2.`code` role_code,
            t3.perm
        FROM
            `sys_role_menu` t1
                INNER JOIN sys_role t2 ON t1.role_id = t2.id
                INNER JOIN sys_menu t3 ON t1.menu_id = t3.id
        WHERE
            type = '${@com.youlai.system.common.enums.MenuTypeEnum@BUTTON.getValue()}'
            <if test="roleCode!=null and roleCode.trim() neq ''">
                AND t2.`code` = #{roleCode}
            </if>
    </select>
相关推荐
陈一Tender8 分钟前
JavaWeb后端实战(IOC+DI)
java·spring boot·spring
Seven9720 分钟前
Spring AOP、MVC高频面试题解析
java·spring
kakacc:26 分钟前
SpringBoot+Hutool+Vue实现导出
java·vue.js·spring boot
某空_1 小时前
【Android】使用ViewPager2实现简单的轮播图
java
武子康1 小时前
Java-145 深入浅出 MongoDB 基本操作详解:数据库查看、切换、创建集合与删除完整教程
java·数据库·sql·mysql·mongodb·性能优化·系统架构
练习时长一年1 小时前
Spring内置功能
java·前端·spring
铉铉这波能秀2 小时前
如何在Android Studio中使用Gemini进行AI Coding
android·java·人工智能·ai·kotlin·app·android studio
_Yoke2 小时前
Java 枚举多态在系统中的实战演进:从枚举策略到自动注册
java·springboot·策略模式
人生导师yxc2 小时前
Java中Mock的写法
java·开发语言
青岛少儿编程-王老师2 小时前
CCF编程能力等级认证GESP—C++5级—20250927
java·数据结构·c++