ansactionIsolation=REPEATABLE_READ
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
import javax.sql.DataSource;
import org.apache.commons.dbcp.BasicDataSourceFactory;
public class DBCPUtil {
private static DataSource dataSource;
static{
try {
InputStream inStream = DBCPUtil.class.getClassLoader().getResourceAsStream("dbcpconfig.properties");
Properties props = new Properties();
props.load(inStream);
dataSource = BasicDataSourceFactory.createDataSource(props);
} catch (Exception e) {
throw new ExceptionInInitializerError("初始化数据库配置文件失败");
}
}
public static Connection getConnection() throws SQLException{
return dataSource.getConnection();
}
}
2、C3P0
发行包\lib\全考
c3p0-config.xml配置文件:文件名是固定的写法
< xml version="1.0" encoding="UTF-8" >
com.mysql.jdbc.Driver
jdbc:mysql:///day16
root
sorry
15
20
5
200
import java.sql.Connection;
import java.sql.SQLException;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class C3P0Util {
private static ComboPooledDataSource dataSource = new ComboPooledDataSource();
public static Connection getConnection() throws SQLException{
return dataSource.getConnection();
}
}
3、用服务器提供的数据源的配置(具体参考服务器的文档)
以Tomcat为例(用的就是DBCP)
a、拷贝数据库驱动jar到Tomcat\lib目录下
b、在你应用的META-INF目录下建立一个context.xml配置文件
< xml version="1.0" encoding="UTF-8" >
maxActive="100" maxIdle="30" maxWait="10000" username="root"
password="sorry" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/day16" />
c、重新启动Tomcat,服务器就按照配置创建好了数据源,在JNDI容器中。
JNDI:JavaEE技术之一。Java Naming and Directory Interface
(就是一个Map,Map的key是一个String,是一个目录, value就是绑定的对象。 类似Window系统的注册表)
API存在JDK的javax.naming.*包中。
d、在Tomcat管理的web应用中才能使用,不能在main方法中运行,不是同一个虚拟机。
Context initContext = new InitialContext();
DataSource ds = (DataSource)initContext.lookup("java:/comp/env/jdbc/day16");
Connection conn = ds.getConnection();
import java.sql.Connection;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
public class JndiDsTest {
//和Tomcat不是一个虚拟机
public static void main(String[] args) throws Exception {
Context initContext = new InitialContext();
DataSource ds = (DataSource)initContext.lookup("java:/comp/env/jdbc/day16");
Connection conn = ds.getConnection();
System.out.println(conn);
}
}