文章目錄
- 1.數據庫版本及url配置問題---java.sql.SQLException,如圖:
- 2.數據庫服務連接不上---java.net.ConnectException:Connection refused:connect
- 3.數據庫版本或url配置問題---jdbc.DataSourceProperties$DataSourceBeanCreationException:Failed to detemine a suitable driver class![在這裏插入圖片描述](https://img-blog.csdnimg.cn/20200307115657816.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1hJTkdfR291,size_16,color_FFFFFF,t_70)
- 4. 訪問的數據庫不存在---java.sql.SQLSynaxErrorException:Unkown database 'xxx'
- 5. 指定命名空間下的元素已經存在---java.lang.IllegalArgumentException:
- 6.單元測試方法沒有找到--java.lang.Exception:No tests found matching
- 7. MyBatis綁定異常---org.apache.ibatis.binding.BindingException:Invalid bound statement(not bound)
- 8. MyBatis 參數綁定異常---org.apache.ibatis.binding.BindingException:Parameter 'ids' not found
- 9. JVM端口號被佔用---java.net.BindException: Address already in use: bind
- 10. URL請求資源不存在--not found (404)
- 11. 視圖解析失敗--Internal Server Error,status=500
- 12. 之後將還會有其餘錯誤的更新及其解決方法(等待更新)
1.數據庫版本及url配置問題—java.sql.SQLException,如圖:
其解決方案爲:
- 1)降低數據庫驅動版本 (傳統的maven項目通常會這麼做)
- 2)在url中追加時區配置(serverTimezone=GMT%2B8)
2.數據庫服務連接不上—java.net.ConnectException:Connection refused:connect
問題分析:檢查數據庫服務是否啓動,連接數據庫的用戶名/密碼是否正確
3.數據庫版本或url配置問題—jdbc.DataSourceProperties$DataSourceBeanCreationException:Failed to detemine a suitable driver class
問題分析:檢查數據的服務是否已啓動,連接數據的url配置是否正確,數據庫版本與驅動是否匹配
4. 訪問的數據庫不存在—java.sql.SQLSynaxErrorException:Unkown database ‘xxx’
問題分析:檢查url配置的數據庫是否存在或數據庫名是否寫錯
5. 指定命名空間下的元素已經存在—java.lang.IllegalArgumentException:
Caused by: java.lang.IllegalArgumentException:
Mapped Statements collection already contains value for
com.cy.pj.goods.dao.GoodsDao.deleteObject. please check file
[D:\WORKSPSTS\CGB-SBOOT-01\target\classes\mapper\ GoodsMapper.xml]
and com/cy/pj/goods/dao/GoodsDao.java (best guess)
解決方案爲:可能是GoodsDao接口或映射文件對應的映射元素重複(你可以根據自己錯誤提示中去尋找自己的接口或映射元素)
6.單元測試方法沒有找到–java.lang.Exception:No tests found matching
解決方案:
- 1)單元測試方法可能使用了private修飾,有返回值或有參數。
- 2)單元測試方法沒寫@Test註解。
- 3)Spring Boot項目有多個啓動類。
- 4)Spring Boot 單元測試類沒有寫在單元測試包中。
7. MyBatis綁定異常—org.apache.ibatis.binding.BindingException:Invalid bound statement(not bound)
問題分析:
- 1)檢查接口類全名與映射文件中的命名空間是否不一致。
- 2)檢查接口方法名與映射文件中的方法名是否不一致。
- 3)檢查接口方法參數與映射文件可接收的參數不匹配。
- 4)檢查接口對應的映射文件路徑是否配置不正確(mapper-locations)。
8. MyBatis 參數綁定異常—org.apache.ibatis.binding.BindingException:Parameter ‘ids’ not found
問題分析:檢查調用的dao方法參數與對應的SQL參數是否有映射關係.(SQL中的使用的ids參數可能沒有使用@Param註解進行描述)
9. JVM端口號被佔用—java.net.BindException: Address already in use: bind
Caused by: java.net.BindException: Address already in use: bind
at sun.nio.ch.Net.bind0(Native Method) ~[na:1.8.0_45]
at sun.nio.ch.Net.bind(Unknown Source) ~[na:1.8.0_45]
at sun.nio.ch.Net.bind(Unknown Source) ~[na:1.8.0_45]
其解決方案爲:
- 1)關閉已啓動的tomcat,重新啓動。
- 2)殺進程(windows)
a)查找進程id:netstat -ano|findstr “8080”
b)基於進程id殺進程:taskkill /f /pid 進程id
10. URL請求資源不存在–not found (404)
解決方案:
- 1)檢查tomcat啓動是否OK。
- 2)檢查url對應的服務端資源是否匹配(客戶端url與controller定義url)。
- 3)檢查controller的包結構(所在包應在主啓動類所在包的同包或子包中)。
- 4)檢查項目中是否已添加thymeleaf依賴及配置(內置視圖解析器)。
11. 視圖解析失敗–Internal Server Error,status=500
解決方案:
- 1)視圖解析器的配置有問題(有可能方法沒有實用@ReponseBody修飾)。
- 2)解決方案:檢查視圖解析器前綴,後綴的配置。