国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

解決Mybatis中mapper的ID沖突問題

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

原因一:

在同一個(gè)mapper.xml中存在相同的ID

原因二:

同時(shí)使用了xml配置和注解配置

解決方案:

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

解決Mybatis中mapper的ID沖突問題

Mybatis mapper文件下同一id 查詢結(jié)果列不同問題場(chǎng)景描述:

訂單數(shù)據(jù)按天分表,正常情況下每一天的表結(jié)構(gòu)都是一樣的,表名命名格式order_yyyyMMdd。

定義一個(gè)查詢?nèi)缦拢?/p>

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

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

系統(tǒng)運(yùn)行了若干天,到了18年12月30日,order表添加了新的字段a。以后的訂單表都會(huì)添加該字段。對(duì)應(yīng)的實(shí)體類也添加了對(duì)應(yīng)字段。應(yīng)該沒有問題了,更新并重啟程序。先查詢今天的數(shù)據(jù),沒有問題。在查詢之前的數(shù)據(jù),發(fā)現(xiàn)程序報(bào)錯(cuò)了,找不到字段a.

解決方法:

修改id 為orderSelect 的查詢

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

對(duì)比發(fā)現(xiàn)添加了 remapResults='true'的配置

總結(jié) :

mybatis 默認(rèn)remapResults屬性為false,會(huì)導(dǎo)致同一查詢id 查出來的字段一直都是固定的。設(shè)置為true的話,則每次查詢查出來的列可以不相同,這樣才能應(yīng)對(duì)不同的表結(jié)構(gòu)。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Mybatis 數(shù)據(jù)庫
相關(guān)文章:
主站蜘蛛池模板: 福泉市| 临高县| 武川县| 浦县| 海伦市| 桦南县| 和龙市| 阳泉市| 康乐县| 榆中县| 皋兰县| 蓬莱市| 民权县| 龙口市| 堆龙德庆县| 乐清市| 淮阳县| 平原县| 汶上县| 子洲县| 苍梧县| 松滋市| 奎屯市| 廊坊市| 丹巴县| 芦溪县| 双城市| 莱阳市| 郑州市| 中卫市| 石楼县| 延庆县| 托克逊县| 临桂县| 龙岩市| 化德县| 武安市| 丹凤县| 金湖县| 永昌县| 玛沁县|