Mybatisplus實(shí)現(xiàn)JSON處理器的示例代碼
1 前言
這是我最近學(xué)到的比較新奇的一個(gè)東西,數(shù)據(jù)庫(kù)居然還可以存儲(chǔ)JSON格式的數(shù)據(jù),如下。雖然我感覺(jué)一般也沒(méi)誰(shuí)會(huì)這樣干,但是既然有,那就當(dāng)個(gè)科普講一下Mybatis plus的JSON處理器。萬(wàn)一以后遇到了呢,就很離譜。
create table user( info json )
在數(shù)據(jù)庫(kù)中形式如下:
{"age": xx, "gender": "xxx"}
2 使用方法
2.1 定義json實(shí)體類
@Data @NoArgsConstructor //表示該類的構(gòu)造函數(shù)可以通過(guò)調(diào)用靜態(tài)方法of()來(lái)創(chuàng)建對(duì)象。staticName屬性指定了靜態(tài)方法的名稱。 @AllArgsConstructor(staticName = "of") public class UserInfo { private Integer age; private String gender; }
2.2 在實(shí)體類中使用
@TableName(autoResultMap = true) public class User { @TableField(typeHandler = JacksonTypeHandler.class) private UserInfo info; //其它代碼... }
注解的解釋:
@TableName(autoResultMap = true)
autoResultMap = true表示開(kāi)啟自動(dòng)結(jié)果集映射功能。這意味著MyBatis-Plus會(huì)根據(jù)實(shí)體類的字段信息自動(dòng)生成SQL查詢結(jié)果到實(shí)體類對(duì)象的映射規(guī)則,無(wú)需手動(dòng)編寫(xiě) resultMap 映射配置。主要用于對(duì)象嵌套的情況。
@TableField(typeHandler = JacksonTypeHandler.class)
因?yàn)镸ybatis并沒(méi)有給我們提供數(shù)據(jù)庫(kù)JSON和Java實(shí)體類相互轉(zhuǎn)化的功能,所以我們需要使用MP給我們提供的注解來(lái)實(shí)現(xiàn)轉(zhuǎn)化。其實(shí)一共有三種可選,如下,不過(guò)我們的SpringMVC默認(rèn)包含Jackson,另外兩種還得再引入依賴。
到此這篇關(guān)于Mybatisplus實(shí)現(xiàn)JSON處理器的示例代碼的文章就介紹到這了,更多相關(guān)Mybatisplus JSON處理器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot集成shiro遭遇自定義filter異常的解決
這篇文章主要介紹了springboot集成shiro遭遇自定義filter異常的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11mybatis 通過(guò)攔截器打印完整的sql語(yǔ)句以及執(zhí)行結(jié)果操作
這篇文章主要介紹了mybatis 通過(guò)攔截器打印完整的sql語(yǔ)句以及執(zhí)行結(jié)果操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-10-10Spring實(shí)戰(zhàn)之設(shè)置普通屬性值的方法示例
這篇文章主要介紹了Spring實(shí)戰(zhàn)之設(shè)置普通屬性值的方法,結(jié)合實(shí)例形式分析了Spring設(shè)置普通屬性值的方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-11-11springboot整合logback實(shí)現(xiàn)日志管理操作
本章節(jié)是記錄logback在springboot項(xiàng)目中的簡(jiǎn)單使用,本文將會(huì)演示如何通過(guò)logback將日志記錄到日志文件或輸出到控制臺(tái)等管理操作,感興趣的朋友跟隨小編一起看看吧2024-02-02SpringBoot整合Mybatis-plus關(guān)鍵詞模糊查詢結(jié)果為空
SpringBoot整合Mybatis-plus使用關(guān)鍵詞模糊查詢的時(shí)候,數(shù)據(jù)庫(kù)中有數(shù)據(jù),但是無(wú)法查找出來(lái),本文就來(lái)介紹一下SpringBoot整合Mybatis-plus關(guān)鍵詞模糊查詢結(jié)果為空的解決方法2025-04-04SpringBoot項(xiàng)目集成Swagger和swagger-bootstrap-ui及常用注解解讀
這篇文章主要介紹了SpringBoot項(xiàng)目集成Swagger和swagger-bootstrap-ui及常用注解解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03一文搞懂Java設(shè)計(jì)模式之責(zé)任鏈模式
這篇文章主要給大家介紹了關(guān)于Java設(shè)計(jì)模式之責(zé)任鏈模式的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12mybatis利用association或collection傳遞多參數(shù)子查詢
今天小編就為大家分享一篇關(guān)于mybatis利用association或collection傳遞多參數(shù)子查詢,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03