Mybatis-Plus通用枚舉的使用詳解
解決了繁瑣的配置,讓 mybatis 優(yōu)雅的使用枚舉屬性!
修改表結(jié)構(gòu)
ALTER TABLE `tb_user` ADD COLUMN `sex` INT ( 1 ) NULL DEFAULT 1 COMMENT '1-男,2-女' AFTER `deleted`;
定義枚舉
public enum SexEnum implements IEnum<Integer> { MAN(1, "男"), WOMAN(2, "女"); private int value; private String desc; SexEnum(int value, String desc) { this.value = value; this.desc = desc; } @Override public Integer getValue() { return this.value; } @Override public String toString() { return this.desc; } }
配置
# 枚舉包掃描 mybatis-plus.type-enums-package=cn.com.javakf.enums
修改實(shí)體
private SexEnum sex; // 性別,枚舉類型
測(cè)試
插入
@Test public void testInsert() { User user = new User(); user.setUserName("diaochan"); user.setPassword("123456"); user.setAge(20); user.setName("貂蟬"); user.setMail("diaochan@163.com"); user.setVersion(1); user.setSex(SexEnum.WOMAN); // 使用的是枚舉 // 調(diào)用AR的insert方法進(jìn)行插入數(shù)據(jù) boolean insert = user.insert(); System.out.println("result => " + insert); }
SQL
[main] [cn.com.javakf.mapper.UserMapper.insert]-[DEBUG] ==> Preparing: INSERT INTO tb_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:43 ms - ID:cn.com.javakf.mapper.UserMapper.insert Execute SQL: 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] Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@44550792] result => true
查詢
@Test public void testSelectById() { User user = new User(); user.setId(11L); User user1 = user.selectById(); System.out.println(user1); }
SQL
[main] [cn.com.javakf.mapper.UserMapper.selectById]-[DEBUG] ==> Preparing: SELECT id,user_name,name,age,email AS mail,version,deleted,sex FROM tb_user WHERE id=? AND deleted=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] Closing non transactional SqlSession [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=女)
從測(cè)試可以看出,可以很方便的使用枚舉了。
條件查詢
@Test public void testSelectBySex() { User user = new User(); QueryWrapper<User> wrapper = new QueryWrapper<>(); wrapper.eq("sex", SexEnum.WOMAN); // 查詢性別為女的數(shù)據(jù) List<User> users = user.selectList(wrapper); for (User user1 : users) { System.out.println(user1); } }
SQL
[main] [cn.com.javakf.mapper.UserMapper.selectList]-[DEBUG] ==> Preparing: SELECT id,user_name,name,age,email AS mail,version,deleted,sex FROM tb_user WHERE deleted=0 AND sex = ? [main] [cn.com.javakf.mapper.UserMapper.selectList]-[DEBUG] ==> Parameters: 2(Integer) [main] [cn.com.javakf.mapper.UserMapper.selectList]-[DEBUG] <== Total: 1 Time:15 ms - ID:cn.com.javakf.mapper.UserMapper.selectList Execute SQL: SELECT id, user_name, name, age, email AS mail, version, deleted, sex FROM tb_user WHERE deleted=0 AND sex = 2 [main] [org.mybatis.spring.SqlSessionUtils]-[DEBUG] Closing non transactional SqlSession [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=女)
到此這篇關(guān)于Mybatis-Plus通用枚舉的使用詳解的文章就介紹到這了,更多相關(guān)Mybatis-Plus通用枚舉內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Mybatis傳遞多個(gè)參數(shù)的三種實(shí)現(xiàn)方法
這篇文章主要介紹了Mybatis傳遞多個(gè)參數(shù)的三種實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04Spring?MVC??接受請(qǐng)求參數(shù)的方法
了解HTTP請(qǐng)求的GET和POST方法中如何攜帶參數(shù),以及SpringMVC中如何接收這些參數(shù),GET方法通過(guò)URL傳遞參數(shù),而POST方法通常在請(qǐng)求體中傳遞,SpringMVC使用注解如@RequestParam和@RequestBody來(lái)綁定參數(shù)到控制器方法2024-09-09我勸你謹(jǐn)慎使用Spring中的@Scheduled注解
這篇文章主要介紹了Spring中的@Scheduled注解使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10Spring Boot項(xiàng)目中jar包在服務(wù)器上啟動(dòng)的正確姿勢(shì)
這篇文章主要給大家介紹了關(guān)于Spring Boot項(xiàng)目中jar包在服務(wù)器上啟動(dòng)的正確姿勢(shì),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01java異步調(diào)用Feign接口空指針問(wèn)題解決
這篇文章主要為大家介紹了java異步調(diào)用Feign接口空指針問(wèn)題解決方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06Java?MapStruct優(yōu)雅地實(shí)現(xiàn)對(duì)象轉(zhuǎn)換
MapSturct?是一個(gè)生成類型安全,高性能且無(wú)依賴的?JavaBean?映射代碼的注解處理器,用它可以輕松實(shí)現(xiàn)對(duì)象轉(zhuǎn)換,下面就來(lái)和大家聊聊具體操作吧2023-06-06MyBatis是如何實(shí)現(xiàn)日志模塊的詳解
這篇文章主要給大家介紹了關(guān)于MyBatis是如何實(shí)現(xiàn)日志模塊的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用MyBatis具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10關(guān)于Assert.assertEquals報(bào)錯(cuò)的問(wèn)題及解決
這篇文章主要介紹了關(guān)于Assert.assertEquals報(bào)錯(cuò)的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05