1. 程式人生 > >eclipse+tomcat搭建伺服器遇到的坑:執行整個專案不能連線資料庫,單獨的測試類卻能夠連線資料庫

eclipse+tomcat搭建伺服器遇到的坑:執行整個專案不能連線資料庫,單獨的測試類卻能夠連線資料庫

我的連線資料庫類中的URL長這樣的:
在這裡插入圖片描述
這個類其他的程式碼都沒有問題,因為我用測試類測試過這個連線數庫類,能夠成功連線。mysql-conntector版本和mysql版本也能夠相容,其他的類也都沒問題,因為整個專案能夠執行。但是執行專案一涉及資料庫就報錯。我的之前在捕獲異常的時候在catch塊中只是用system .out.println(“資料庫連線失敗!”);輸出了錯誤,並沒有報錯錯誤的原因,然後我找了很久都不知道出錯原因究竟是什麼,只是知道沒有成功連線資料庫。
折騰了好幾天都沒能解決問題。最後靈機一動,在catch中新增

    e.printStackTrace();

然後重新操作一下客戶端,終於報錯了異常原因:

java.sql.SQLException: Unknown initial character set index '255' received from server. Initial client character set can be forced via the 'characterEncoding' property.

天吶,終於知道了是什麼原因!激動的不知所錯。這個報錯的原因就是:
mysql驅動和資料庫字符集設定不匹配
只需要將URL改成:

 final static String url = "jdbc:mysql://localhost:3306/user?useUnicode=true&characterEncoding=utf8";

然後就成功連線上了資料庫!此時我已經臨表涕零,不知所言。
最後總結一下:

在捕獲異常的時候最好追蹤錯誤原因,並將錯誤打印出來,這一點非常重要非常重要!

參考:https://blog.csdn.net/txwtech/article/details/80787886