Druid:数据库连接池实现技术
生活随笔
收集整理的這篇文章主要介紹了
Druid:数据库连接池实现技术
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
?Druid:數(shù)據(jù)庫(kù)連接池實(shí)現(xiàn)技術(shù),由阿里巴巴提供的
?? ?1. 步驟:
?? ??? ?1. 導(dǎo)入jar包 druid-1.0.9.jar
?? ??? ?2. 定義配置文件:
?? ??? ??? ?* 是properties形式的
?? ??? ??? ?* 可以叫任意名稱(chēng),可以放在任意目錄下
?? ??? ?3. 加載配置文件。Properties
?? ??? ?4. 獲取數(shù)據(jù)庫(kù)連接池對(duì)象:通過(guò)工廠來(lái)來(lái)獲取 ?DruidDataSourceFactory
?? ??? ?5. 獲取連接:getConnection( )
2. 定義工具類(lèi)
?? ??? ?1. 定義一個(gè)類(lèi) JDBCUtils
?? ??? ?2. 提供靜態(tài)代碼塊加載配置文件,初始化連接池對(duì)象
?? ??? ?3. 提供方法
?? ??? ??? ?1. 獲取連接方法:通過(guò)數(shù)據(jù)庫(kù)連接池獲取連接
?? ??? ??? ?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連接池的工具類(lèi)*/ 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;/*** 使用新的工具類(lèi)*/ 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對(duì)象pstmt = conn.prepareStatement(sql);//4.給?賦值pstmt.setString(1,"王五");pstmt.setInt(2,1);pstmt.setString(3,"163@qq.com");//5.執(zhí)行sqlint count = pstmt.executeUpdate();System.out.println(count);} catch (SQLException e) {e.printStackTrace();}finally {//6. 釋放資源JDBCUtils.close(pstmt,conn);}}}總結(jié)
以上是生活随笔為你收集整理的Druid:数据库连接池实现技术的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 数据库连接池——C3P0:数据库连接池技
- 下一篇: 基于XML的自动装配||SpEL测试