Mybatis查詢時數(shù)據(jù)丟失的問題及解決
Mybatis查詢時數(shù)據(jù)丟失
公司里的實(shí)體類和mapper文件均由mybatis逆向工程生成
之前使用myabtis查詢時直接使用注解@select(......)時遇到了一個問題。
結(jié)果顯示數(shù)據(jù)庫查詢沒有問題,但是有的數(shù)據(jù)缺沒有插入到指定的字段中,如下圖中ID成功存儲,Z40_ID,Z40_103到Z40_113均失敗。

經(jīng)過排查得出結(jié)論
如果數(shù)據(jù)庫命名很規(guī)范比如user_name,用逆向插件生成實(shí)體類時該字段會自動轉(zhuǎn)換為userName
但是如果數(shù)據(jù)庫命名形式為:字母(含數(shù)字)_字母(含數(shù)字)這種情況,自動映射就會失效,就會發(fā)生部分?jǐn)?shù)據(jù)沒有set到指定屬性下;
解決辦法
對于一些命名不規(guī)范的列需要加上注解手動映射

或者直接在mapper.xml文件里用xml方式寫sql語句,一般逆向工程都自動生成列的映射規(guī)范了;

Mybatis查詢部分字段漏查問題(mysql)
select xx1字段 xx2字段 xx3字段 from A表 where 條件
在查詢的時候出現(xiàn)xx1字段的值和xx2的,xx3沒出來,
1.(數(shù)據(jù)庫字段是否有值?若無加一下值重啟再試一下)
2.將sql語句放到SQLyog 或者Navicat for MySQL 等mysql工具進(jìn)行查詢,先確保語句得出結(jié)果沒有問題23.3
3.若此時無問題,大部分因為數(shù)據(jù)庫字段使用了一些敏感的外鍵字段,可適當(dāng)修改一下這些健的名稱
(記得對應(yīng)實(shí)體類,mybatis語句也要跟著修改)數(shù)據(jù)庫加入數(shù)據(jù)值 保存,重新啟動程序.
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
RabbitMQ消息隊列中的Channel信道參數(shù)詳解
這篇文章主要介紹了RabbitMQ消息隊列中的Channel信道參數(shù)詳解,信道是生產(chǎn)消費(fèi)者與rabbit通信的渠道,生產(chǎn)者publish或者消費(fèi)者消費(fèi)一個隊列都是需要通過信道來通信的,信道是建立在TCP上面的虛擬鏈接,需要的朋友可以參考下2023-08-08
springboot + JPA 配置雙數(shù)據(jù)源實(shí)戰(zhàn)
這篇文章主要介紹了springboot + JPA 配置雙數(shù)據(jù)源實(shí)戰(zhàn),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09
Java中使用JWT生成Token進(jìn)行接口鑒權(quán)實(shí)現(xiàn)方法
這篇文章主要介紹了Java中使用JWT生成Token進(jìn)行接口鑒權(quán)實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
java智能問答圖靈機(jī)器人AI接口(聚合數(shù)據(jù))
這篇文章主要介紹了java智能問答圖靈機(jī)器人AI接口(聚合數(shù)據(jù)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02
IDEA2023常用配置指南(JDK/系統(tǒng)設(shè)置等常用配置)
idea很強(qiáng)大,但是初次安裝默認(rèn)的有很多設(shè)置并不是滿足我們開發(fā)的需要,下面這篇文章主要給大家介紹了關(guān)于IDEA2023常用配置(JDK/系統(tǒng)設(shè)置等常用配置)的相關(guān)資料,需要的朋友可以參考下2023-12-12
Java實(shí)現(xiàn)的計算最大下標(biāo)距離算法示例
這篇文章主要介紹了Java實(shí)現(xiàn)的計算最大下標(biāo)距離算法,涉及java針對數(shù)組的遍歷、運(yùn)算等相關(guān)操作技巧,需要的朋友可以參考下2018-02-02

