久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

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

解決Mybatis中mapper的ID沖突問題

瀏覽:45日期: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 數據庫
相關文章:
主站蜘蛛池模板: 一区二区在线看 | 中文久久 | www亚洲成人 | 青青久视频 | 欧美在线观看一区 | 久久久综合网 | 亚洲一区二区三区久久久 | 国产精品成人国产乱一区 | 亚洲一区二区日韩 | 国产做a| 91污在线观看 | 丁香五月亚洲综合在线 | 毛片网 | 精品一区二区在线播放 | 毛片网站免费在线观看 | 99热国产在线观看 | 日韩精品在线一区 | 精品视频一区二区三区 | 国产一区二区三区四 | 日本妇人成熟免费视频 | 夜夜爽网址 | 特级生活片 | 在线国产视频 | 日韩欧美三区 | www中文字幕| 欧美一级片在线 | 交视频在线观看国产 | 欧美日韩一二区 | 欧美综合在线一区 | 国产女人免费看a级丨片 | 九九综合| av成人在线观看 | 伊人网站在线 | 久久久久一 | 国产精品久久久久久久美男 | 在线播放国产一区二区三区 | 久久只有精品 | 精品亚洲一区二区三区 | 国产激情久久久久久 | 亚洲精品国产乱码在线看蜜月 | 国产精品欧美一区二区三区不卡 |