溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決Mybatis查詢時數(shù)據(jù)丟失的問題

發(fā)布時間:2022-01-21 11:55:44 來源:億速云 閱讀:380 作者:小新 欄目:開發(fā)技術

這篇文章主要為大家展示了“如何解決Mybatis查詢時數(shù)據(jù)丟失的問題”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“如何解決Mybatis查詢時數(shù)據(jù)丟失的問題”這篇文章吧。

    Mybatis查詢時數(shù)據(jù)丟失

    公司里的實體類和mapper文件均由mybatis逆向工程生成

    之前使用myabtis查詢時直接使用注解@select(......)時遇到了一個問題。

    結果顯示數(shù)據(jù)庫查詢沒有問題,但是有的數(shù)據(jù)缺沒有插入到指定的字段中,如下圖中ID成功存儲,Z40_ID,Z40_103到Z40_113均失敗。

    如何解決Mybatis查詢時數(shù)據(jù)丟失的問題

    經(jīng)過排查得出結論

    如果數(shù)據(jù)庫命名很規(guī)范比如user_name,用逆向插件生成實體類時該字段會自動轉換為userName

    但是如果數(shù)據(jù)庫命名形式為:字母(含數(shù)字)_字母(含數(shù)字)這種情況,自動映射就會失效,就會發(fā)生部分數(shù)據(jù)沒有set到指定屬性下;

    解決辦法

    對于一些命名不規(guī)范的列需要加上注解手動映射

    如何解決Mybatis查詢時數(shù)據(jù)丟失的問題

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

    如何解決Mybatis查詢時數(shù)據(jù)丟失的問題

    Mybatis查詢部分字段漏查問題(mysql)

    select xx1字段 xx2字段 xx3字段 from A表 where 條件

    在查詢的時候出現(xiàn)xx1字段的值和xx2的,xx3沒出來,

    1.(數(shù)據(jù)庫字段是否有值?若無加一下值重啟再試一下)

    2.將sql語句放到SQLyog 或者Navicat for MySQL 等mysql工具進行查詢,先確保語句得出結果沒有問題23.3

    3.若此時無問題,大部分因為數(shù)據(jù)庫字段使用了一些敏感的外鍵字段,可適當修改一下這些健的名稱

    (記得對應實體類,mybatis語句也要跟著修改)數(shù)據(jù)庫加入數(shù)據(jù)值 保存,重新啟動程序.

    以上是“如何解決Mybatis查詢時數(shù)據(jù)丟失的問題”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

    向AI問一下細節(jié)

    免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

    AI