日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Druid:数据库连接池实现技术

發布時間:2025/4/16 数据库 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Druid:数据库连接池实现技术 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?Druid:數據庫連接池實現技術,由阿里巴巴提供的


?? ?1. 步驟:
?? ??? ?1. 導入jar包 druid-1.0.9.jar
?? ??? ?2. 定義配置文件:
?? ??? ??? ?* 是properties形式的
?? ??? ??? ?* 可以叫任意名稱,可以放在任意目錄下

?? ??? ?3. 加載配置文件。Properties
?? ??? ?4. 獲取數據庫連接池對象:通過工廠來來獲取 ?DruidDataSourceFactory
?? ??? ?5. 獲取連接:getConnection( )



2. 定義工具類


?? ??? ?1. 定義一個類 JDBCUtils
?? ??? ?2. 提供靜態代碼塊加載配置文件初始化連接池對象
?? ??? ?3. 提供方法
?? ??? ??? ?1. 獲取連接方法:通過數據庫連接池獲取連接
?? ??? ??? ?2. 釋放資源
?? ??? ??? ?3. 獲取連接池的方法

JDBCUtils.java

package cn.itcast.utils;import com.alibaba.druid.pool.DruidDataSourceFactory;import javax.sql.DataSource; import java.io.IOException; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties;/*** Druid連接池的工具類*/ public class JDBCUtils {//1.定義成員變量 DataSourceprivate static DataSource ds ;static{try {//1.加載配置文件Properties pro = new Properties();pro.load(JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties"));//2.獲取DataSourceds = DruidDataSourceFactory.createDataSource(pro);} catch (IOException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}}/*** 獲取連接*/public static Connection getConnection() throws SQLException {return ds.getConnection();}/*** 釋放資源*/public static void close(Statement stmt,Connection conn){/* if(stmt != null){try {stmt.close();} catch (SQLException e) {e.printStackTrace();}}if(conn != null){try {conn.close();//歸還連接} catch (SQLException e) {e.printStackTrace();}}*/close(null,stmt,conn);}public static void close(ResultSet rs , Statement stmt, Connection conn){if(rs != null){try {rs.close();} catch (SQLException e) {e.printStackTrace();}}if(stmt != null){try {stmt.close();} catch (SQLException e) {e.printStackTrace();}}if(conn != null){try {conn.close();//歸還連接} catch (SQLException e) {e.printStackTrace();}}}/*** 獲取連接池方法*/public static DataSource getDataSource(){return ds;}}

DruidDemo2.java

package cn.itcast.datasource.druid;import cn.itcast.utils.JDBCUtils;import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException;/*** 使用新的工具類*/ public class DruidDemo2 {public static void main(String[] args) {/** 完成添加操作:給account表添加一條記錄*/Connection conn = null;PreparedStatement pstmt = null;try {//1.獲取連接conn = JDBCUtils.getConnection();//2.定義sqlString sql = "insert into tb1_employee values(null,?,?,?)";//3.獲取pstmt對象pstmt = conn.prepareStatement(sql);//4.給?賦值pstmt.setString(1,"王五");pstmt.setInt(2,1);pstmt.setString(3,"163@qq.com");//5.執行sqlint count = pstmt.executeUpdate();System.out.println(count);} catch (SQLException e) {e.printStackTrace();}finally {//6. 釋放資源JDBCUtils.close(pstmt,conn);}}}

總結

以上是生活随笔為你收集整理的Druid:数据库连接池实现技术的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。