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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

dbcp链接池

發布時間:2024/3/24 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 dbcp链接池 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

因為關閉、啟動數據庫會花費大量的時間,所以應該使用連接池,由連接池自動管理數據庫的啟動和關閉,鏈接池在dao層和數據庫之間,負責自動管理數據庫的connection。

dbcp---鏈接池?

有兩種方法,一種是寫一個類,把要用的鏈接配置set給他, 叫做硬編碼。

另一種是寫一個配置文件,通過讀取配置文件獲得要用的鏈接配置

其實就是將

connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/account", "root", "mysql");

變成了?Connection conn = dataSource.getConnection();

jar包是:connection-dbcp-1.4.jar

1.硬編碼方式,寫一個類,給類set值 就叫硬編碼

變為從新建的getDataSource方法中獲取

新建一個 getdatasource類

import org.apache.commons.dbcp.BasicDataSource;import javax.sql.DataSource;public class GetDataSource {public static DataSource getdatacource(){BasicDataSource dbcp=new BasicDataSource();dbcp.setDriverClassName("com.mysql.jdbc.Driver");dbcp.setUrl("jdbc:mysql://localhost:3306/account");dbcp.setUsername("root");dbcp.setPassword("mysql");System.out.println(dbcp);return dbcp;} }

使用

import javax.sql.DataSource; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException;public class Getdatasource_test {public static void main(String[] args) throws SQLException {DataSource dataSource = GetDataSource.getdatacource();Connection conn = dataSource.getConnection();PreparedStatement prep = conn.prepareStatement("select * from account");ResultSet rs= prep.executeQuery();while(rs.next()){System.out.println("name:"+rs.getString("name"));}} }

結果:

?

2.使用配置文件方式

1.新建.properties配置文件,寫四行數據庫連接的配置

driverClassName=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/account username=root password=mysql

2.通過讀取配置文件,實例化datasource對象,并返回

package dbcp_PeiZhiWenJian;import org.apache.commons.dbcp.BasicDataSourceFactory;import javax.sql.DataSource; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.util.Properties; //通過讀取配置文件,實例化datasource對象,并返回 public class PeiZhi {public static DataSource getdatascource_peizhiwenjian() {DataSource dbcp=null;Properties props=new Properties();try {File file1=new File("src/dbcp_PeiZhiWenJian/PeiZhi.properites");//獲取文件InputStream inputStream=new FileInputStream(file1);//獲取輸入流props.load(inputStream);//props需要通過輸入流讀取一個.Properties文件dbcp= BasicDataSourceFactory.createDataSource(props);} catch (Exception e) {e.printStackTrace();}return dbcp;} }

3.調用該方法返回數據源datasource

package dbcp_PeiZhiWenJian; import dbcp_YingBianMa.GetDataSource; import javax.sql.DataSource; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException;public class GetDataSource_peizhi {public static void main(String[] args) throws SQLException {DataSource dataSource = PeiZhi.getdatascource_peizhiwenjian();Connection conn = dataSource.getConnection();PreparedStatement prep = conn.prepareStatement("select * from account");ResultSet rs= prep.executeQuery();while(rs.next()){System.out.println("name:"+rs.getString("name"));}}}

總結

以上是生活随笔為你收集整理的dbcp链接池的全部內容,希望文章能夠幫你解決所遇到的問題。

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