阿里Druid資料庫連線工具類
這裡寫自定義目錄標題
本處使用了阿里的連線池
1.依賴匯入
<!--mysql驅動-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.20</version>
</dependency>
<!--阿里連線池-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.23</version>
</dependency>
<!--日誌依賴-->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.2</version>
</dependency>
2.druid配置檔案:
driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://112.125.89.39/xiaomi?useSSL=false&characterEnding=utf8&serverTimezone=Asia/Shanghai
username=aa123456
password=123456
initialSize=10
maxActive=10
maxWait=60000
#配置間隔多久才進行一次檢測,檢測需要關閉的空閒連線,單位是毫秒
time-between-eviction-runs-millis=60000
#druid recycle
druid.removeAbandoned=true
druid.removeAbandonedTimeout=1000
druid.logAbandoned=false
3.資料庫連線工具類
package utils;
import com.alibaba.druid.pool.DruidDataSourceFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.sql.DataSource;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
/**
* @Description: 連線池工具類
* @Author one world
* @Date 2020/9/19 0012 11:02
*/
public class ConnUtil {
private static InputStream in;
private static DataSource dataSource;
private static final Logger logger = LoggerFactory.getLogger(ConnUtil.class);
static {
/**
* 載入配置檔案,用阿里的工廠建立資料來源
*/
in = ConnUtil.class.getResourceAsStream("/druid.properties");
Properties properties = new Properties();
try {
properties.load(in);
dataSource = DruidDataSourceFactory.createDataSource(properties);
} catch (IOException e) {
throw new RuntimeException("連線工具類異常");
logger.error("連線工具類異常",e);
} catch (Exception e) {
throw new RuntimeException("連線工具類異常");
logger.error("連線工具類異常",e);
}
}
/**
* 資料庫連線的獲取
*
* @return Connection
*/
public static Connection getConnection() {
try {
return dataSource.getConnection();
} catch (SQLException e) {
throw new RuntimeException("連線工具類異常");
logger.error("連線工具類getConnection方法異常",e);
}
return null;
}
/**
* 資料來源獲取
*
* @return
*/
public static DataSource getDataSource() {
return dataSource;
}
/**
* 資源關閉
*
* @param conn
* @param statement
* @param rs
*/
public static void close(Connection conn, Statement statement, ResultSet rs) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
throw new RuntimeException("連線工具類異常");
logger.error("連線工具類關閉結果集異常",e);
}
}
if (statement != null) {
try {
statement.close();
} catch (SQLException e) {
throw new RuntimeException("連線工具類異常");
logger.error("連線工具類關閉statement異常",e);
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
throw new RuntimeException("連線工具類異常");
logger.error("連線工具類關閉連線異常",e);
}
}
}
}
相關文章
- 資料庫連線池_druid基本使用&工具類資料庫UI
- Springboot 整合阿里資料庫連線池 druidSpring Boot阿里資料庫UI
- druid資料庫連線池的配置類UI資料庫
- 聊聊資料庫連線池 Druid資料庫UI
- 資料庫連線池-Druid資料庫連線池原始碼解析資料庫UI原始碼
- Java Druid資料庫連線池+SpringJDBCJavaUI資料庫SpringJDBC
- Spring Boot整合Druid資料庫連線池Spring BootUI資料庫
- Druid資料庫連線池使用體驗UI資料庫
- springboot+atomikos+druid 資料庫連線失效分析Spring BootUI資料庫
- springboot專案整合druid資料庫連線池Spring BootUI資料庫
- Druid資料庫連線池就這麼簡單UI資料庫
- SpringBoot druid配置datasource啟動初始化資料庫連線Spring BootUI資料庫
- SpringBoot專案整合阿里Druid連線池Spring Boot阿里UI
- 阿里雲資料庫連線資料庫錯誤:如何解決?阿里資料庫
- 阿里DRUID資料來源阿里UI
- 資料庫連線池優化配置(druid,dbcp,c3p0)資料庫優化UI
- 如何使用 IDEA 資料庫工具連線 TDengine?Idea資料庫
- 用Navicat連線資料庫-資料庫連線(MySQL演示)資料庫MySql
- 連線資料庫資料庫
- C# 連線多種資料庫元件,類庫專案C#資料庫元件
- springboot activiti 整合專案框架原始碼 shiro 安全框架 druid 資料庫連線池Spring Boot框架原始碼UI資料庫
- mysqli連線資料庫MySql資料庫
- Mongodb資料庫連線MongoDB資料庫
- Android 連線資料庫Android資料庫
- java連線資料庫Java資料庫
- 連線資料庫-mysql資料庫MySql
- jmeter連線資料庫JMeter資料庫
- Mybatis連線資料庫MyBatis資料庫
- JSP連線資料庫JS資料庫
- JDBC連線資料庫JDBC資料庫
- Flask連線資料庫Flask資料庫
- 簡單的登入註冊(前端+後端+MySQL資料庫 DRuid連線池 DBUtils)前端後端MySql資料庫UI
- 《四 資料庫連線池原始碼》手寫資料庫連線池資料庫原始碼
- python 連線 mongo 資料庫連線超時PythonGo資料庫
- bee工具使用generate/migrate命令都要帶資料庫連線?資料庫
- 多連線資料庫管理工具:Navicat Premium Mac資料庫REMMac
- Navicat Premium Mac(多連線資料庫管理工具)REMMac資料庫
- Navicat Premium for Mac(多連線資料庫管理工具)REMMac資料庫