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)文章希望大家以后多多支持腳本之家!
- mybatis-plus enum實(shí)現(xiàn)枚舉類型自動(dòng)轉(zhuǎn)換
- mybatis-plus使用@EnumValue處理枚舉類型的示例代碼
- MyBatis-Plus枚舉和自定義主鍵ID的實(shí)現(xiàn)步驟
- mybatis-plus3.0.1枚舉返回為null解決辦法
- springMvc和mybatis-plus中枚舉值和字段的映射
- Mybatis plus枚舉處理器的具體使用
- MyBatis-Plus中通用枚舉的實(shí)現(xiàn)
- MyBatis-Plus通用枚舉的實(shí)現(xiàn)示例
- MyBatisPlus枚舉處理器的實(shí)現(xiàn)
相關(guān)文章
使用Springboot實(shí)現(xiàn)獲取某個(gè)城市當(dāng)天的天氣預(yù)報(bào)
這篇文章主要為大家詳細(xì)介紹了使用Springboot實(shí)現(xiàn)獲取某個(gè)城市當(dāng)天的天氣預(yù)報(bào)的相關(guān)知識(shí),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-04-04
Java基礎(chǔ)教程之?dāng)?shù)組的定義與使用
Java語(yǔ)言的數(shù)組是一個(gè)由固定長(zhǎng)度的特定類型元素組成的集合,它們的數(shù)據(jù)類型必須相同,聲明變量的時(shí)候,必須要指定參數(shù)類型,這篇文章主要給大家介紹了關(guān)于Java基礎(chǔ)教程之?dāng)?shù)組的定義與使用的相關(guān)資料,需要的朋友可以參考下2021-09-09
java中Scanner.next()和Scanner.nextLine的區(qū)別圖文詳解
使用java語(yǔ)言編程,最常用的輸入就是使用Scanner了,它的構(gòu)造很簡(jiǎn)單,這篇文章主要給大家介紹了關(guān)于java中Scanner.next()和Scanner.nextLine區(qū)別的相關(guān)資料,需要的朋友可以參考下2024-02-02
hadoop運(yùn)行java程序(jar包)并運(yùn)行時(shí)動(dòng)態(tài)指定參數(shù)
這篇文章主要介紹了hadoop如何運(yùn)行java程序(jar包)并運(yùn)行時(shí)動(dòng)態(tài)指定參數(shù),使用hadoop 運(yùn)行 java jar包,Main函數(shù)一定要加上全限定類名,需要的朋友可以參考下2021-06-06
使用@RequestBody傳對(duì)象參數(shù)時(shí)碰到的坑
這篇文章主要介紹了使用@RequestBody傳對(duì)象參數(shù)時(shí)碰到的坑,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
Spring?Boot?+?EasyExcel實(shí)現(xiàn)數(shù)據(jù)導(dǎo)入導(dǎo)出
這篇文章主要介紹了Spring?Boot+EasyExcel實(shí)現(xiàn)數(shù)據(jù)導(dǎo)入導(dǎo)出,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-08-08
Spring Boot 實(shí)現(xiàn)圖片上傳并回顯功能
本篇文章給大家分享Spring Boot 實(shí)現(xiàn)圖片上傳并回顯功能,文中通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-07-07
使用Java8中Optional機(jī)制的正確姿勢(shì)
我們知道 Java 8 增加了一些很有用的 API, 其中一個(gè)就是 Optional,下面這篇文章主要給大家介紹了關(guān)于如何正確使用Java8中Optional機(jī)制的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。2017-11-11

