解決springboot?druid數據庫連接池連接失敗后一直重連問題
druid數據庫連接池連接失敗后一直重連問題
當數據庫暫?;蛘呔芙^連接時,druid會一直連接
增加如下配置可以解決重連問題
spring.datasource.druid.break-after-acquire-failure=true spring.datasource.druid.connection-error-retry-attempts=3
druid數據庫連接池技術的實現與常見錯誤
第一步,win+R cmd進入到doc窗口,敲入mysql -V
一定要查看你mysql數據庫的版本!!(以下是博主的)

mysql5.6使用的是 mysql-connector-java-5.1.26-bin.jar
更高的mysql版本需要使用 mysql-connector-java-8.0.19.jar(最新版本)數據庫版本不對應會導致連接失敗的。
mysql-connection-java的jar包 官網下載點擊

不用登錄,直接下載


如果你不想下載最新版本,點擊Archives即可


下載完畢就要導入jar包 如圖所示你正確導入包之后會出現小三角符號。

第二步,寫好配置文件jdbc.properties
分兩種:
#這個是mysql5.5版本的配置文件 username=用戶名 password=密碼 #url 注意這個book 表示你要連接的數據庫 url=jdbc:mysql://localhost:3306/book driverClassName=com.mysql.jdbc.Driver initialSize=5 maxActive=5
#這個是mysql更高版本的配置文件 username=用戶名 password=密碼 #url 注意這個book表示你要連接的數據庫 url=jdbc:mysql://localhost:3306/book?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false driverClassName=com.mysql.cj.jdbc.Driver initialSize=5 maxActive=5
以上如果配置文件寫的不對也會報錯。
最后,直接上阿里Druid數據庫連接池靜態(tài)代碼塊
public class JavaUtils { //實現數據庫連接和關閉的封裝 體會Java編程的思想
private static DruidDataSource dataSource;
static {
try {
// 讀取jdbc.properties屬性的配置文件
Properties properties = new Properties();
//從流中加載數據
InputStream inputStream = JavaUtils.class.getClassLoader().getResourceAsStream("jdbc.properties");
properties.load(inputStream);
dataSource = (DruidDataSource) DruidDataSourceFactory.createDataSource(properties);
System.out.println(dataSource.getConnection());
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
}
/* 關閉連接 放回數據庫連接池*/
public static void closeSources(PreparedStatement ps, Connection con) {
try {
if (ps != null)
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (con != null)
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}然后我又遇到的錯誤了 ,原因是配置文件的路徑不對而報錯(而且是瘋狂爆紅一直不停的那種)。

如果遇到報空指針異常,原因錯誤也很簡單,我當時dataSource對象沒有new出來卻用它來調用方法,本人也嘗試一直打斷點調試找bug但沒找到原因,歸根結底是我沒有好好理解每一行代碼的含義,就一直拿著錯誤去百度,花了很多時間,也算是積累了經驗教訓了。如果出現以下就算連接成功。但當看到紅字我以為又失敗了哈哈

其實我之前用jdbc連接數據庫是沒有什么毛病的,但是我們要知道:


以上兩張圖片摘自尚硅谷宋紅康jdbc核心技術。
總結
這些僅為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

