「java关闭连接池」Java常用连接池
今天给各位分享java关闭连接池的知识,其中也会对Java常用连接池进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、Java数据库连接池中的连接是在什么时候clos
- 2、java数据库连接池详细操作
- 3、java数据库连接池配置的几种方法
- 4、java连接池 execute怎么关闭数据库
- 5、java c3p0 数据库连接池需要主动关闭连接吗
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关闭连接池的信息别忘了在本站进行查找喔。
发布于:2022-12-01,除非注明,否则均为
原创文章,转载请注明出处。