您好,登錄后才能下訂單哦!
這篇文章給大家介紹Mybatis中怎么利用mapper解決ID沖突問題,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
原因一:
在同一個mapper.xml中存在相同的ID
原因二:
同時使用了xml配置和注解配置
只保留xml或者注解即可!!!
訂單數據按天分表,正常情況下每一天的表結構都是一樣的,表名命名格式order_yyyyMMdd。
定義一個查詢如下:
<select id="orderSelect" 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 id="orderSelect" remapResults="true" parameterClass="java.util.HashMap" resultClass="com.xxx"> select * from order_$table_suffix$ where ... </select>
對比發現添加了 remapResults="true"的配置
關于Mybatis中怎么利用mapper解決ID沖突問題就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。