Apache dbcp 数据源
使用直连数据库的话效率比较低,人们就想出另外一种概念:数据库连接池。具体不清楚的去Google一下。目前数据源都是基于数据库连接池的,在java领域中有很多开源的数据源。我在这里向您推荐一个apache dbcp。我用的数据源包是commons-dbcp-1.2.2.jar,依赖连接池包是commons-pool-1.3.jar下面是我写的一个DEMO
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import org.apache.commons.dbcp.BasicDataSource;
public class XZou {
private static BasicDataSource ds;
static {
try {
ds = new BasicDataSource();
ds.setDriverClassName("数据库驱动");
ds.setUrl("地址");
ds.setUsername("账号");
ds.setPassword("密码");
} catch (Exception ex) {
throw new RuntimeException("处理数据库连接出现异常" + ex);
}
}
/**
* 获取数据库连接
*
* @return
*/
public Connection getConnection() {
try {
return ds.getConnection();
} catch (SQLException e) {
throw new RuntimeException("数据库连接出现异常" + e);
}
}
/**
* 释放资源
* @param rs
* @param stm
* @param con
*/
public void release(ResultSet rs, Statement stm, Connection con) {
try {
if (rs != null) {
rs.close();
rs = null;
}
} catch (SQLException ex) {
ex.printStackTrace();
} finally {
try {
if (stm != null) {
stm.close();
stm = null;
}
} catch (SQLException ex) {
ex.printStackTrace();
} finally {
try {
if (con != null) {
con.close();
con = null;
}
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
}
public static void main(String[] args) {
DBAccess access = new DBAccess();
Connection con = access.getConnection();//获取连接
access.release(null, null, con);//释放资源
}
}
页:
[1]