MybatisPlus保存、讀取MySQL中的json字段失敗問(wèn)題及解決
MybatisPlus保存、讀取MySQL的json字段失敗
場(chǎng)景
mybatis-plus保存mysql數(shù)據(jù)庫(kù),有字段為json,在java中定義字段為String,但是在保存的時(shí)候,json數(shù)據(jù)沒(méi)有入庫(kù),為空,代碼執(zhí)行未報(bào)錯(cuò)。
解決方案
直接用對(duì)應(yīng)的Object來(lái)做映射,然后增加對(duì)應(yīng)的@TableField注解
@Data
public class UserEntity{?
? ? private String userId;?
? ? @TableField(value = "json_obj", typeHandler = FastjsonTypeHandler.class)
? ? private Object jsonObj;
}
@TableField(value = "json_obj", typeHandler = FastjsonTypeHandler.class)主要是通過(guò)這個(gè)字段來(lái)映射,就可以完美解決
在讀取的時(shí)候,主要是在實(shí)體類(lèi)中@TableName(autoResultMap = true),autoResultMap這個(gè)參數(shù)
@TableName(autoResultMap = true)
@Data
public class UserEntity {? ??
}Mybatis插入MySQL的json字段報(bào)錯(cuò)
cannot create a json value from a string with character set 'binary'
mysql5.7后支持json類(lèi)型的字段,但是mybatis暫時(shí)不支持,生成的實(shí)體對(duì)象的參數(shù)類(lèi)型是Object,mapper文件的jdbcType是OTHER,
解決辦法
把生成的實(shí)體對(duì)象對(duì)應(yīng)的字段類(lèi)型改為String,mapper文件里面對(duì)應(yīng)的字段類(lèi)型改為VARCHAR,插入的參數(shù)是json字符串
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java樹(shù)形結(jié)構(gòu)數(shù)據(jù)生成導(dǎo)出excel文件方法記錄
最近好像得罪了poi,遇到的都是導(dǎo)出word、Excel、pdf的問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于Java樹(shù)形結(jié)構(gòu)數(shù)據(jù)生成導(dǎo)出excel文件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-10-10
SpringBoot傳給前端Long類(lèi)型精度丟失的解決方案
最近在做項(xiàng)目的時(shí)候,遇到了一個(gè)Long類(lèi)型傳給前端之后,接收到的數(shù)值不對(duì)的情況,我一開(kāi)始以為是前端接收數(shù)據(jù)有問(wèn)題,后來(lái)經(jīng)過(guò)查找,了解到這是一個(gè)Long類(lèi)型精度丟失問(wèn)題,于是寫(xiě)這篇文章記錄下來(lái),也探究一下為什么會(huì)發(fā)生這種情況,需要的朋友可以參考下2025-03-03
SpringBoot項(xiàng)目如何將Bean注入到普通類(lèi)中
這篇文章主要介紹了SpringBoot項(xiàng)目如何將Bean注入到普通類(lèi)中,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
IntelliJ IDEA 2017.1.4 x64配置步驟(介紹)
下面小編就為大家?guī)?lái)一篇IntelliJ IDEA 2017.1.4 x64配置步驟(介紹)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06
Springboot使用ResponseBody漢字返回問(wèn)號(hào)問(wèn)題
這篇文章主要介紹了Springboot使用ResponseBody漢字返回問(wèn)號(hào)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06

