因mybatis逆向工程而產生的問題
阿新 • • 發佈:2018-05-06
ctrl+ 重新 原來 except app ssi 文件查看 出錯 myba 今天我在搭建SSM框架環境時,配置都配好了,就等運行測試,誰知道一來就報錯,並且這個錯誤折騰了我一下午,真的是血的教訓:
BeanCreationException:Error creating bean with name ‘sessionFactory‘ defined in file ...
我看到這個錯誤後,我就打開配置文件查看包含sessionFactory的配置,怎麽看自己都覺得沒有什麽地方不對,百度了一下,都在說是配置的錯誤或者是jar包沖突或者缺少jar包,但我控制臺沒有顯示jar包的問題,就排除了這種情況。
之後在控制臺還發現了一個錯誤:
Caused by: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.dxt.bx.reader.api.dao.UserMapper.BaseResultMap
說是BaseResultMap已經存在,我就找到對應的UserMapper.xml點進去看,ctrl+f 搜索 BaseResultMap,發現真的還多了許多id=BaseResultMap,出現重復的情況,這是逆向工程生成的文件,為什麽會出錯呢?
我又百度了一下原因,原來是逆向工程生成時,如果你沒有刪除原來的mapper.xml,新生成的mapper.xml並不是覆蓋原來的,而是追加,哇 ! 這才是出錯的根本原因。
因為之前我改了數據庫字段,也沒有刪除原來的文件,就直接逆向工程生成這才導致的問題。
解決:刪除原先的文件,在重新生成就ok。
因mybatis逆向工程而產生的問題