剛學完mybatis 的逆向工程和 springbean的實例化,然后自己結合二者練習的時候遇到了一個大坑,花了很長時間才搞清楚問題所在。整個過程如下:
1、首先我創建了一個maven工程,配置完pom.xml以及一下幾個配置文件
2、然后雙擊maven中的這個插件,從而生成mapper接口,pojo以及mapper.xml文件
3、SpringBean的實例化,通過配置applicationConfig.xml文件,此處我使用了動態工廠
4、在controller中運行我的測試代碼
結果控制台一片紅
后來經過幾番試錯查詢問題所在,終於發現mapper文件里面內容過多,有兩組resultMap,而且屬性跟數據庫中的表字段對應不上,同時發現另外一個數據庫有同名表格,此時終於發現問題所在。
這應該是MySQL的問題,於是查到有關 nullCatalogMeansCurrent = true 的參數設置問題,該參數有兩種配置方式如下:
第一種在generatorConfig.xml中 配置
第二種 直接在jdbc.properties 中配置,直接在url 后面拼接此參數
我使用的是第二種方式,刪除了所有mapper.xml,mapper接口以及pojo,然后重新運行generator生成文件,測試代碼,問題解決,大功告成 。