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>
相关推荐
冰_河9 分钟前
QPS从300到3100:我靠一行代码让接口性能暴涨10倍,系统性能原地起飞!!
java·后端·性能优化
桦说编程3 小时前
从 ForkJoinPool 的 Compensate 看并发框架的线程补偿思想
java·后端·源码阅读
躺平大鹅5 小时前
Java面向对象入门(类与对象,新手秒懂)
java
初次攀爬者6 小时前
RocketMQ在Spring Boot上的基础使用
java·spring boot·rocketmq
花花无缺6 小时前
搞懂@Autowired 与@Resuorce
java·spring boot·后端
Derek_Smart7 小时前
从一次 OOM 事故说起:打造生产级的 JVM 健康检查组件
java·jvm·spring boot
NE_STOP8 小时前
MyBatis-mybatis入门与增删改查
java
孟陬11 小时前
国外技术周刊 #1:Paul Graham 重新分享最受欢迎的文章《创作者的品味》、本周被划线最多 YouTube《如何在 19 分钟内学会 AI》、为何我不
java·前端·后端
想用offer打牌11 小时前
一站式了解四种限流算法
java·后端·go