ssm之路(15)整合ssm+逆向工程開發注意事項(Result Maps collection already contains value for cn.itcast.ssm.mapper.It)
阿新 • • 發佈:2018-12-20
這裡有個結合逆向工程來使用的坑:
上一章中整合遇到問題,有個關於逆向工程的坑,這裡需要說明一下:
因為我是通過mapper代理方式來整合的,所以當我再mapper裡新建我要自定義的檔案時,會造成無意不遵循規範的錯誤
我是通過mapper代理開發的方式來弄的,通過MapperScannerConfiguer來掃描mapper包下的對映檔案,因此它必須遵循同包同名 的條件,但當我新建檔案如下:itemsMapper,itemsMapper.xml是通過逆向工程引入的,itemsMapperCustom,itemsMapperCustom.xml是我自己建的,這樣你就在無意中破壞了同包同名的規範,程式可能會判定ItemMapper和ItemMapperCustom.xml的名稱不一樣,而報錯說:Result Maps collection already contains value for cn.itcast.ssm.mapper.ItemsMapper.BaseResultMap
解決的辦法是將目錄換成mapper--items-(items.java,itemsMapper.xml),,,,,,itemsCustom--(itemsCustom.java,,itemsCustomMapper.xml)
最好的方式還是讓二者分離:
在applicationContext-dao.xml中的sqlsessionFactory中加入resource資源目錄下的掃描: