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>
相关推荐
禾小西19 分钟前
Spring AI :Spring AI的介绍
java·人工智能·spring
愤豆22 分钟前
05-Java语言核心-语法特性--模块化系统详解
java·开发语言·python
bksczm24 分钟前
文件流(fstream)
java·开发语言
NGC_661125 分钟前
Java 线程池阻塞队列与拒绝策略
java·开发语言
小碗羊肉37 分钟前
【从零开始学Java | 第二十二篇】List集合
java·开发语言
m0_7167652338 分钟前
C++提高编程--STL常用容器(set/multiset、map/multimap容器)详解
java·开发语言·c++·经验分享·学习·青少年编程·visual studio
qqty12171 小时前
springboot+mybaties项目中扫描不到@mapper注解的解决方法
java·spring boot·mybatis
灵魂猎手1 小时前
14. MyBatis XML 热更新实战:告别重启烦恼
java·mybatis
程途知微1 小时前
AQS 同步器——Java 并发框架的核心底座全解析
java·后端
sunwenjian8861 小时前
SpringBean的生命周期
java·开发语言