//数据库连接地址
private String url="jdbc:oracle:thin:@127.0.0.1:数据库";
//用户名
private String username= "123";
//密码
private String password ="123";
//驱动名称
private String jdbcName = "oracle.jdbc.driver.OracleDriver";
/*数据库连接*/
public Connection getCon(){
try {
Class.forName(jdbcName);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Connection con = null;
try {
con = DriverManager.getConnection(url,username,password);
} catch (SQLException e) {
e.printStackTrace();
}
return con;
}
/*关闭数据库连接*/
public void closeCon(Connection con) throws SQLException {
if (con != null)
con.close();
}
如果在getCon()时连接成功后,突然终止程序,未调用closeCon(con)此时 数据库连接池是否会释放?
个人理解是会的,因为获取这个连接的应用终止了,这个对 Oracle 来说一个连接会在 processlist 中体现,这个应用终止了,连接进程也就没有了。
会释放的,突然中断等同于主动关闭服务。连接池会默认释放,这个机制应该Oracle连接池的默认配置。