JDBC连接池基础

来源:互联网 发布:sybase数据库日志查看 编辑:程序博客网 时间:2024/05/19 17:05

技术不好.还要是去深造一下才能做开发工作.哈哈.做的作业,后改用mybatis      // 获取该对象的目的是使用SqlSession
SqlSessionFactory sf = new SqlSessionFactoryBuilder().build(Resources
.getResourceAsReader(resource));

不过我感觉还是要多练习才行.




package utils;



import java.sql.Connection;


import java.util.Properties;


import org.apache.commons.dbcp.BasicDataSource;


public class DBUtils {
private static String driver;


private static String url;


private static String user;


private static String password;


private static BasicDataSource ds;

private static ThreadLocal<Connection> tl = new ThreadLocal<Connection>();


static {
try {
Properties props = new Properties();
// 从类路径中加文件
props.load(DBUtils.class.getClassLoader().getResourceAsStream(
"com/tarena/netctoss/utils/db.properties"));


driver = props.getProperty("driver");
url = props.getProperty("url");
user = props.getProperty("user");
password = props.getProperty("password");


ds = new BasicDataSource();//连接池
ds.setDriverClassName(driver);
ds.setUrl(url);
ds.setUsername(user);
ds.setPassword(password);


} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}


public static Connection getConnection() throws Exception {
Connection con = ds.getConnection();
return con;
}
public static void clossConnetion()throws Exception{
Connection con = tl.get();
if(con!=null){
con.close();
tl.set(null);//取消当前线程
}
}

public static void main(String[] args) throws Exception {
Connection con = getConnection();
System.out.println(con.getClass().getName());
}
}