「java关闭连接池」Java常用连接池

博主:adminadmin 2022-12-01 15:13:08 68

今天给各位分享java关闭连接池的知识,其中也会对Java常用连接池进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

Java数据库连接池中的连接是在什么时候clos

需要关掉,但是关掉后并不意味着就关闭了数据库连接池,这里的close()只是将 数据库连接池中占用的connection释放掉,使其在连接池中处于空闲状态,如果你不关闭,数据库连接池中的connection中用完以后,请求就会处于队列状态,超出规定时间连接池就会将队列的请求断开,导致其无法进行连接

java数据库连接池详细操作

是自己编的 可以引用 连接池思想就是这个啊

不过你可以下载 已经编好的连接池 上面有API 自己可以按照这个思想 就回用 了;

import java.io.FileInputStream;

public class ConnectionPool{

private VectorConnection pool;

private String url;

private String username;

private String password;

private String driverClassName;

// 连接池的大小,也就是连接池中有多少个数据库连接。

private int poolSize = 1;

private static ConnectionPool instance =null;

//私有的构造方法,禁止外部创建本类的对象。

// 使用了设计单子模式

private ConnectionPool(){

init();

}

// 返回当前连接池的一个对象

public static ConnectionPool getInstance(){

if(instance==null){

instance=new ConnectionPool();

}

return instance;

}

//连接池初始化方法,读取属性文件的内容,建立连接池中的初始连接

private void init(){

pool= new VectorConnection(poolSize);

addConnection();

}

//返回连接到连接池中

public synchronized void release(Connection conn){

pool.add(conn);

}

// 关闭连接池中的所有数据库连接

public synchironized void closePool(){

for(int i=0;ipool.size();i++){

try{

((Connection)pool.get(i)).close();

}catch(SQLExcepiton e){

e.printStachTrace();

}

pool.remove(i);

}

}

/**

* 返回连接池中的一个数据库连接

*/

public synchronized Connection getConnection(){

if(pool.size()0){

Connection conn = pool.get(0);

pool.remove(conn);

return conn;

}else{

return null;

}

}

// 在连接池中创建初始设置的的数据库连接

private void addConnection(){

Connection conn = null;

for (int i=0;ipoolSize;i++){

try{

Class.forName(driverClassName);

conn=java.sql.Drivermanager.getConnection(url,username,password);

pool.add(conn);

}catch(ClassNotFoundException e){

e.printStachTrace();

}catch(){}

}

}

}

java数据库连接池配置的几种方法

数据库连接池的主要操作如下:

(1)建立数据库连接池对象(服务器启动)。

(2)按照事先指定的参数创建初始数量的数据库连接(即:空闲连接数)。

(3)对于一个数据库访问请求,直接从连接池中得到一个连接。如果数据库连接池对象中没有空闲的连接,且连接数没有达到最大(即:最大活跃连接数),创建一个新的数据库连接。

(4)存取数据库。

(5)关闭数据库,释放所有数据库连接(此时的关闭数据库连接,并非真正关闭,而是将其放入空闲队列中。如实际空闲连接数大于初始空闲连接数则释放连接)。

(6)释放数据库连接池对象(服务器停止、维护期间,释放数据库连接池对象,并释放所有连接)。

java连接池 execute怎么关闭数据库

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

//一个数据库通用的帮助类,用于连接数据库与关闭数据库

public class DBUtil {

//第一步:声明你所需要的一些全局变量

private final static String DRIVER_CLASS="com.microsoft.sqlserver.jdbc.SQLServerDriver";//加载驱动的字符串

private final static String CONN_STR="jdbc:sqlserver://localhost:1433;databaseName=testDB";//数据库连接字符串

private final static String DB_USER="sa";//数据用户

private final static String DB_PWD="123456";//数据库登录密码

//第二步:加载数据库驱动(这里是sqlserver)

static{

try{

Class.forName(DRIVER_CLASS);

}catch(ClassNotFoundException e){

e.printStackTrace();//抛出异常

}

}

//第三步:获取数据库连接

public static Connection getConn(){

try {

return DriverManager.getConnection(CONN_STR,DB_USER,DB_PWD);

} catch (SQLException e) {

e.printStackTrace();

}

return null;

}

//最后关闭数据库连接

public static void closeConn(ResultSet rs,PreparedStatement pstmt,Connection conn){

try {

if (rs!=null) {//如果返回的结果集对象不能为空,就关闭连接

rs.close();

}

} catch (Exception e) {

e.printStackTrace();

}

try {

if (pstmt!=null) {

pstmt.close();//关闭预编译对象

}

} catch (Exception e) {

e.printStackTrace();

}

try {

if (conn!=null) {

conn.close();//关闭结果集对象

}

} catch (Exception e) {

e.printStackTrace();

}

}

}

java c3p0 数据库连接池需要主动关闭连接吗

你好,csp0数据库连接池是不需要主动关闭连接的,他会伴随tomcat的启动和停止而启动和关闭,希望可以帮助到你

java关闭连接池的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于Java常用连接池、java关闭连接池的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-01,除非注明,否则均为首码项目网原创文章,转载请注明出处。