MyBatis入門踩坑記錄
阿新 • • 發佈:2020-07-20
MyBatis入門程式
問題說明
學習過程中遇到很多問題,記錄一下。
Maven靜態資源過濾問題
<!--在build中配置resource,來防止我們資源匯出失敗的問題--> <build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> </resources> </build>
Junit測試時,可能會提示
org.apache.ibatis.binding.BindingException: Type interface com.melodyhub.dao.UserDao is not known to the MapperRegistry.
MapperRegistry
是什麼?
每一個Mapper.xml都需要在MyBatis核心配置檔案中註冊!!!
<!--每一個Mapper.xml都需要在MyBatis核心配置檔案中註冊!!!--> <mappers> <mapper resource="com/melodyhub/dao/UserMapper.xml"/> </mappers>
MySQL時區
由於MySQL底層是使用的時區是CST,跟中國時間相差掙好8個小時。
解決辦法是在mybatis-config.xml
中``jdbc的
url`末尾加上,二選一即可:
&serverTimezone=GMT%2B8
&useTimezone=true&serverTimezone=UTC
參考:https://blog.csdn.net/ziningyihao/article/details/90644295
MySQL驅動/版本問題
所有的程式碼都沒有問題,但是就是連線不上資料庫,經過排查,發現我的MySQL版本是8.0,驅動包是5.1.47,差距太大,不相容。
將MySQL降級到5.7.29,問題解決。