使用mybatisplus的通用枚舉實現存儲顯示相分離

狡兔尚且三窟,多學一招總沒錯吧?
🚀🚀扎哇太棗糕的博客首頁🚀🚀
在這里插入圖片描述

🌏 拋出問題

??如果讓你實現這么一個功能:將性別使用數字存儲到數據庫中,但是前端需要獲取到的是具體的性別描述(比如男女),你會怎么實現?
在這里插入圖片描述??相信有很多的小伙伴想到的就是,在前端或者后端使用if語句判斷從數據庫中獲取到的值,如果是0的話就返回或者輸出女,如果是1的話就返回或者輸出男。

????可以 但不優雅

??那我用switch判斷總算優雅了吧

????優雅 但不夠裝13

??不夠裝13也是錯?低調不是錯,但是我們要讓老板感覺花這些錢雇自己他值了,甚至還要讓他感覺他賺到了。

🌎 解決問題

??對于MP的通用枚舉,官方文檔如是說道:mybatis-plus的官方文檔對通用枚舉的介紹,總結來說就是簡單的三個步驟:創建枚舉類、修改配置文件、修改實體類字段屬性,接下來就以一個案例加深小伙伴們的理解
第一步: 創建枚舉類,并給相應的字段添加相應的注解,兩個注解的注釋都在代碼中給出了

import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.AllArgsConstructor;
import lombok.Getter;/*** @author : mereign* @date : 2022/3/18 - 15:28* @desc : 性別的枚舉類*/@Getter
@AllArgsConstructor
public enum SexEnum {FEMALE(0, "女"),MALE(1, "男"),GROUP(2, "組合"),NONE(3, "不詳");// 將注解標識的屬性值存儲到數據庫中@EnumValueprivate Integer sex;// 將注解標識的屬性值返回給前端@JsonValueprivate String sexName;}

第二步: 配置文件

mybatis-plus:# 聲明枚舉類所在包type-enums-package: com.xiaoyu.enums

第三步: 修改實體類字段屬性,其他的屬性都照常設置

/*** 性別(0女1男2組合3不明)*/
private SexEnum sex;

前端控制器中使用的方法是MP中自帶的list方法

/*** 查詢所有歌手* @return*/
@RequestMapping(value = "/allSinger", method = RequestMethod.GET)
public Object allSinger() {// 查詢所有的歌手信息并返回return service.list();
}

測試
在這里插入圖片描述??怎么回事?前端并沒有輸出任何內容,難道是裝13不成?別急,讓我們使用測試類簡單分析一波在這里插入圖片描述??根據測試類的返回值可以得知,從數據庫中查詢到的sex字段值既不是0|1也不是男|女而是null,這到底是怎么回事?
??經過半天的百度和試錯,最終將原因鎖定在字段類型上,原來是我們的數據庫中sex的類型是tinyint而枚舉類中使用@EnumValue修飾的字段類型是integer,由于字段類型不匹配導致返回的是一個null,這也就能夠解釋得通為什么前端不顯示sex了。在這里插入圖片描述??我的解決方案是將數據庫中的類型改為int,雖然說數據庫中使用tinyint可以節省數據庫的存儲空間,但是由于本人的能力有限,無法找到tinyint對應的java類型,最后無奈修改了數據庫的表結構,如果小伙伴們有妙招的話,還請評論區告訴小扎扎在這里插入圖片描述如此操作前端就顯示信息了在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/535066.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/535066.shtml
英文地址,請注明出處:http://en.pswp.cn/news/535066.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

wifi卡慢延遲高_家里WiFi特別卡,網絡延遲高,可能不是網速的問題

原標題:家里WiFi特別卡,網絡延遲高,可能不是網速的問題隨著科技走向我們的身邊,網絡的覆蓋力度也是越來越大,相信很多人的家中都是有安裝WiFi的,然后往往在家中使用的過程中都會碰到這樣的情況,…

voc2007數據集_【目標檢測數據集】PASCAL VOC制作

【VOC20072012】數據集地址:https://pjreddie.com/projects/pascal-voc-dataset-mirror/PASCAL VOC為圖像識別和分類提供了一整套標準化的優秀的數據集,用于構建和評估用于圖像分類(Classification),檢測(O…

JDK和JRE的區別?main方法的注意點?強制和自動類型轉換?

💡涉及的知識點速通🛫 JDK和JRE傻傻分不清?🛫 HelloWorld的輸出都經歷了啥?🛫 Java的三個版本都是啥?🛫 關于main方法你都知道啥?🛫 強制and自動類型轉換都是啥?各位小…

java將date類型轉成yyyymmdd_java中的Date怎么轉換成YYYYMMDD形式?

展開全部SimpleDateFormat inSdf new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.US);創建SimpleDateFormat對象的時候使用帶Locale的構e69da5e6ba9062616964757a686964616f31333365633938造參數因為你的星期和月份是用E文寫的 所以parse回來的時候自…

安卓10不支持qmc解碼_Root神器支持安卓10 面具Magisk v20.4+Magisk Manager v7.5.1

Magisk的功能和xposed框架的功能差不多,也有很多插件可安裝,而且自帶root,刷入這個Magisk后你的rom同時也就有root了(支持安卓7.0,7.1,8.0,8.1,9,10)這也是目前安裝8.1root的普遍方法,因為目前s…

centos7配置br0_Docker CentOS7 修改網絡配置與宿主機橋接

Docker CentOS7 修改網絡配置與宿主機橋接1、創建橋接物理網絡(1)新建br0橋接網絡,brctl show可以查看(需安裝bridge-utils)(2)將宿主機物理網卡IP、掩碼、網關、dns(或者dhcp)配置到br0上(3)刪除宿主機物理網卡IP、掩碼、網關、dns(或者dhcp)配置(4)將宿主機物理網…

==和equals判等、空串和null串、字符串常用API

💡涉及的知識點速通🛫 關于變量和常量你都知道啥?🛫 &和&&、|和||有什么區別?🛫 關于字符串的問題你能答對幾道?🪂 可以修改一個字符串中的值嗎?🪂 字符串使用…

倆臺電腦怎么設置同一局域網_方法 | 把手機上的照片傳到電腦上

我想把手機上的照片/視頻傳到電腦上怎么辦? 什么云盤,手機助手等等全扔到一邊去,不用。請讓我慢慢道來:現在,人們手機用的越來越多,即使在大街上,到處都是“低頭族”。但是,有好多小伙伴問&…

數據持化技術的發展演變(SQL、JDBC、mybatis)

文章目錄1 簡單SQL語句1.1 查詢1.2 新增1.3 修改1.4 刪除1.5 多表查詢2 JDBC2.1 什么是JDBC2.2 什么是jar和maven2.3 JDBC的使用2.4 JDBC總結3 mybatis3.1 什么是ORM?為什么是ORM不是JDBC?3.2 mybatis的使用3.3 mybatis總結4 mybatis與jdbc的邏輯相同處環境配置 j…

傳統蒙文字體_蒙古要改回使用傳統回鶻蒙文,這是種什么文字,蒙古為什么要改回...

喜歡就點關注吧!文字是一個國家的文化象征,也是其書面交流的主要工具,世界上的大多數國家都有自己獨特的文字,我們的鄰國蒙古也是如此,近日蒙古國實行了一場意義重大的文字改革,據新華社烏蘭巴托3月18日報道&#xff0…

三態輸出門實驗報告注意事項_數電基礎知識:各種IO輸出的類型

集電極開路(OC)集電極開路輸出的結構如圖1所示,右邊的那個三極管集電極什么都不接,所以叫做集電極開路;左邊的三極管為反相之用,使輸入為“0”時,輸出也為“0”。對于圖 1,當左端的輸入為“0”時&#xff0…

數據持久化技術——MP

文章目錄1 環境搭建1.1 創建一個maven的project1.2 pom.xml文件導入web開發依賴1.3 創建SpringBoot項目的主程序入口2 代碼生成器3 配置數據庫4 導入前端頁面5 開始前端控制器的編碼5.1 wrapper構造器mybatis-plus(簡稱 MP)是一個 MyBatis的增強工具,在 MyBatis 的基…

win7無法連接打印機拒絕訪問_如何解決局域網無法訪問SQL Server 2008 無法連接到(local)...

初次安裝使用SQL server 2008時,可能會遇到無法連接到(local)的情況。那么,如何解決此問題?工具/原料: SQL server 2008方法/步驟1. 打開SQL server 配置管理器-->SQL server 網絡配置-->實例名的協議(我的實例名為SQLEXPRESS)。2. 將S…

windows進程管理器_任務管理器就能搞定9成的電腦問題?方法在這里!

90% 對于電腦的不滿,都逃不出這幾個方面:電腦狀態無法隨時監測、運行卡頓、開機時間長、莫名黑屏、電池關鍵時刻不扛使(筆記本電池怎么保養?能不能一直插電源充電?可以戳這里→),很多小伙伴就選擇安裝第三方軟件來解決…

三維網格精簡算法java版_ISMAR 2020 | 商湯提出手機端實時單目三維重建系統

導讀:商湯研究院和浙江大學CAD&CG國家重點實驗室合作研發了一個手機端實時單目三維重建系統Mobile3DRecon。與現有的基于RGBD的在線三維重建或離線生成表面網格的系統不同,該系統結合前端位姿跟蹤結果,允許用戶使用單目攝像頭在線重建場景…

【分類匯總】idea快捷鍵、idea配置、常用插件

寫在前面 千萬別看目錄很長就感覺本篇博客很絮叨繁瑣,里面多是配置的講解貼了很多的圖片方便大家了解,配置成功一次之后就可以一直使用了。 快捷鍵的使用建議大家先看,后續敲代碼的時候刻意的使用快捷鍵,相信經過兩三天的使用就可…

win10設置默認輸入法_個性化設置技巧

個性化設置技巧子墨居士前言本次內容主要是win10系統自帶的功能,不是用第三方軟件優化桌面的情況下,讓自己的電腦桌面能更美觀、更舒服。系統自身的個性化設置主要是下圖中的幾個。鼠標右擊->個性化設置。 第三方軟件的效果會更好,畢竟是專…

什么叫組網_家庭wifi,如何組網最合適

wifi信號通過電磁波在空中傳播的,屬于微波通信的一種,因為微波本身及發射功率的限制,導致wifi的穿透能力比較差,北方比較厚的承重強,鐵門、家具等對都會對wifi信號有較強的削弱作用。穿過的障礙物越多,這種…

java輸入輸出、數組初始化

💡涉及的知識點速通🛫 關于輸入輸出你都知道啥?🛫 關于控制路程都需要注意啥?🛫 關于數組的問題你能答對幾道?🪂 數組初始化的小細節你都知道嗎?🪂 這些Arrays的常見API你都掌握了嗎?&#…

linux rm 命令刪除文件恢復_Linux之恢復誤刪除文件

前言每當我們在生產環境服務器上執行rm命令時,總是提心吊膽的,因為一不小心執行了誤刪,然后就要準備跑路了,畢竟人不是機器,更何況機器也有 bug。那么如果真的刪除了不該刪除的文件,比如數據庫、日志或執行…