Mybatis-Plus通用枚举的使用详解
解决了繁琐的配置,让mybatis优雅的使用枚举属性!
修改表结构
ALTERTABLE`tb_user`ADDCOLUMN`sex`INT(1)NULLDEFAULT1COMMENT'1-男,2-女'AFTER`deleted`;
定义枚举
publicenumSexEnumimplementsIEnum{ MAN(1,"男"),WOMAN(2,"女"); privateintvalue; privateStringdesc; SexEnum(intvalue,Stringdesc){ this.value=value; this.desc=desc; } @Override publicIntegergetValue(){ returnthis.value; } @Override publicStringtoString(){ returnthis.desc; } }
配置
#枚举包扫描 mybatis-plus.type-enums-package=cn.com.javakf.enums
修改实体
privateSexEnumsex;//性别,枚举类型
测试
插入
@Test publicvoidtestInsert(){ Useruser=newUser(); user.setUserName("diaochan"); user.setPassword("123456"); user.setAge(20); user.setName("貂蝉"); user.setMail("diaochan@163.com"); user.setVersion(1); user.setSex(SexEnum.WOMAN);//使用的是枚举 //调用AR的insert方法进行插入数据 booleaninsert=user.insert(); System.out.println("result=>"+insert); }
SQL
[main][cn.com.javakf.mapper.UserMapper.insert]-[DEBUG]==>Preparing:INSERTINTOtb_user(user_name,password,name,age,email,version,sex)VALUES(?,?,?,?,?,?,?) [main][cn.com.javakf.mapper.UserMapper.insert]-[DEBUG]==>Parameters:diaochan(String),123456(String),貂蝉(String),20(Integer),diaochan@163.com(String),1(Integer),2(Integer) [main][cn.com.javakf.mapper.UserMapper.insert]-[DEBUG]<==Updates:1 Time:43ms-ID:cn.com.javakf.mapper.UserMapper.insert ExecuteSQL: INSERT INTO tb_user (user_name,password,name,age,email,version,sex) VALUES ('diaochan','123456','貂蝉',20,'diaochan@163.com',1,2) [main][org.mybatis.spring.SqlSessionUtils]-[DEBUG]ClosingnontransactionalSqlSession[org.apache.ibatis.session.defaults.DefaultSqlSession@44550792] result=>true
查询
@Test publicvoidtestSelectById(){ Useruser=newUser(); user.setId(11L); Useruser1=user.selectById(); System.out.println(user1); }
SQL
[main][cn.com.javakf.mapper.UserMapper.selectById]-[DEBUG]==>Preparing:SELECTid,user_name,name,age,emailASmail,version,deleted,sexFROMtb_userWHEREid=?ANDdeleted=0 [main][cn.com.javakf.mapper.UserMapper.selectById]-[DEBUG]==>Parameters:12(Long) [main][cn.com.javakf.mapper.UserMapper.selectById]-[DEBUG]<==Total:1 [main][org.mybatis.spring.SqlSessionUtils]-[DEBUG]ClosingnontransactionalSqlSession[org.apache.ibatis.session.defaults.DefaultSqlSession@474c9131] User(id=12,userName=diaochan,password=null,name=貂蝉,age=20,mail=diaochan@163.com,address=null,version=1,deleted=0,sex=女)
从测试可以看出,可以很方便的使用枚举了。
条件查询
@Test publicvoidtestSelectBySex(){ Useruser=newUser(); QueryWrapperwrapper=newQueryWrapper<>(); wrapper.eq("sex",SexEnum.WOMAN);//查询性别为女的数据 List users=user.selectList(wrapper); for(Useruser1:users){ System.out.println(user1); } }
SQL
[main][cn.com.javakf.mapper.UserMapper.selectList]-[DEBUG]==>Preparing:SELECTid,user_name,name,age,emailASmail,version,deleted,sexFROMtb_userWHEREdeleted=0ANDsex=? [main][cn.com.javakf.mapper.UserMapper.selectList]-[DEBUG]==>Parameters:2(Integer) [main][cn.com.javakf.mapper.UserMapper.selectList]-[DEBUG]<==Total:1 Time:15ms-ID:cn.com.javakf.mapper.UserMapper.selectList ExecuteSQL: SELECT id, user_name, name, age, emailASmail, version, deleted, sex FROM tb_user WHERE deleted=0 ANDsex=2 [main][org.mybatis.spring.SqlSessionUtils]-[DEBUG]ClosingnontransactionalSqlSession[org.apache.ibatis.session.defaults.DefaultSqlSession@3a3b10f4] User(id=12,userName=diaochan,password=null,name=貂蝉,age=20,mail=diaochan@163.com,address=null,version=1,deleted=0,sex=女)
到此这篇关于Mybatis-Plus通用枚举的使用详解的文章就介绍到这了,更多相关Mybatis-Plus通用枚举内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。