av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

解決Mybatis中mapper的ID沖突問題

瀏覽:51日期:2023-10-19 09:38:42
mapper 的id沖突原因:

原因一:

在同一個mapper.xml中存在相同的ID

原因二:

同時使用了xml配置和注解配置

解決方案:

只保留xml或者注解即可!!!

解決Mybatis中mapper的ID沖突問題

Mybatis mapper文件下同一id 查詢結果列不同問題場景描述:

訂單數據按天分表,正常情況下每一天的表結構都是一樣的,表名命名格式order_yyyyMMdd。

定義一個查詢如下:

<select parameterClass='java.util.HashMap' resultClass='com.xxx'> select * from order_$table_suffix$ where ...</select>

如果我查詢18年10月1日數據,則傳參數table_suffix=20181001,如果我查詢18年10月2日數據,則傳參數table_suffix=20181002.即可。

系統運行了若干天,到了18年12月30日,order表添加了新的字段a。以后的訂單表都會添加該字段。對應的實體類也添加了對應字段。應該沒有問題了,更新并重啟程序。先查詢今天的數據,沒有問題。在查詢之前的數據,發現程序報錯了,找不到字段a.

解決方法:

修改id 為orderSelect 的查詢

<select remapResults='true' parameterClass='java.util.HashMap' resultClass='com.xxx'> select * from order_$table_suffix$ where ...</select>

對比發現添加了 remapResults='true'的配置

總結 :

mybatis 默認remapResults屬性為false,會導致同一查詢id 查出來的字段一直都是固定的。設置為true的話,則每次查詢查出來的列可以不相同,這樣才能應對不同的表結構。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Mybatis 數據庫
相關文章:
主站蜘蛛池模板: 久久久久亚洲精品 | 天天操网 | 亚洲一区二区久久 | 成人二区三区 | 日韩成人在线观看 | 免费看黄色片 | 欧美成年网站 | 午夜一区 | 日韩一区二区在线视频 | 爱爱免费视频网站 | 日韩精品中文字幕一区二区三区 | 久久久亚洲 | 国产精品美女久久久免费 | 中文字幕日本一区二区 | 天天久久 | 99精品国自产在线 | 做a视频| 你懂的在线视频播放 | 欧美片网站免费 | 欧美一极视频 | 一本大道久久a久久精二百 欧洲一区二区三区 | 欧美精品一区二区三区在线播放 | av黄色免费在线观看 | 欧美日韩一区二区电影 | 精品综合 | 欧美精品久久久久久久久久 | 国产成人精品久久二区二区91 | 2021狠狠干| 亚洲一区二区三区 | 久久青青 | 成人精品视频在线观看 | 欧美日韩亚洲三区 | 欧美一级二级在线观看 | 老妇激情毛片免费 | 99视频免费在线 | 国内精品伊人久久久久网站 | 国产精品欧美一区二区 | 精品久久久一区二区 | 黄片毛片在线观看 | 97精品久久 | 亚洲视频一 |