mybatis-plus使用枚举

  1. 定义枚举类

    @Getter
    public enum SexEnum {
        MALE(1,"男"), FEMALE(2, "女") ;
    
        @EnumValue//表示会把这个值存入数据库
        private int index;
        @JsonValue//json序列化时使用这个属性
        private String name;
        SexEnum(int i, String name) {
            this.index = i;
            this.name = name;
        }
    }
    
  2. 实体类

    @TableName("mytest")
    @Data
    public class MyTest {
    
        @TableId(type = IdType.AUTO)
        private Long id;
    
        /**
         * 使用mybatisPlus的EnumValue注解后就可以把这个定义为枚举类型
         */
        private SexEnum sex;
    
        public MyTest() {
        }
    
        public MyTest(Long id, SexEnum sex) {
            this.id = id;
            this.sex = sex;
        }
    }
    
  3. 测试

    @Test
    void test2() throws JsonProcessingException {
        MyTest myTest = new MyTest(null, SexEnum.MALE);
        int insert = myTestMapper.insert(myTest);
        /**
        ==>  Preparing: INSERT INTO mytest ( sex ) VALUES ( ? )
    	==> Parameters: 1(Integer)
    	*/
        MyTest myTest1 = myTestMapper.selectById(myTest.getId());
        System.out.println(myTest1);//MyTest(id=12, sex=MALE)
        String string = new ObjectMapper().writeValueAsString(myTest1);
        System.out.println(string);//{"id":12,"sex":"男"}
    }
    
posted @   程长新  阅读(220)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 2 本地部署DeepSeek模型构建本地知识库+联网搜索详细步骤
点击右上角即可分享
微信分享提示