目录
一、Tomcat-DBCP
1、首先在tomcat的conf/context.xml中配置如下信息:
2、在项目的web.xml中配置如下信息,就可以在当前应用中使用:
3、使用:
二、Apache-DBCP(DBCP)
1、添加jar包
2、获取DataSoure对象的两种方式(硬编码方式):
(1)通过BasicDataSource
(2)通过BasicDataSourceFactory(配置文件方式):
三、C3P0
1、添加jar包:
2、获取DataSource的两种方式:
(1)硬编码方式
(2)配置文件方式
tomcat7.0版本:
tomcat8.0、9.0版本:
将其中的maxActive替换为maxTotal="8" ,maxWait 替换为maxWaitMillis
注意:要在tomcat的lib下放数据库驱动jar包
myDBCP
javax.sql.DataSource
Container
InitialContext ic = new InitialContext();
DataSource ds = (DataSource) ic.lookup("java:comp/env/myDBCP");
Connection conn = ds.getConnection();
注:以下都是通过DataSource对象获取数据库连接,只写到获取该对象为止。
commons-dbcp-1.4.jar
commons-pool-1.4.jar
public static DataSource getBasicDataSource (){
BasicDataSource bdcp = new BasicDataSource();
bdcp.setDriverClassName("com.mysql.jdbc.Driver");
bdcp.setUsername("root");
bdcp.setPassword("admin");
bdcp.setUrl("jdbc:mysql://localhost:3306/hospital");
bdcp.setInitialSize(10);
bdcp.setMaxIdle(10);
bdcp.setMaxActive(10);
bdcp.setMaxWait(30);
return bdcp;
}
a.首先新建一个dbcpconfig.properties文件:
driverClassName = com.mysql.jdbc.Driver
username = root
password = admin
url = jdbc:mysql://localhost:3306/hospital
initialSize = 10
maxIdle = 10
maxActive = 10
maxWait = 30
b.再创建DataSource对象:
public static DataSource getBasicDataSourceFactory (){
DataSource ds = null;
Properties prop = new Properties();
InputStream input = new testDBCP().getClass().getClassLoader().getResourceAsStream("dbpcconfig.properties");
try {
prop.load(input);
ds = BasicDataSourceFactory.createDataSource(prop);
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return ds;
}
c3p0-0.9.5.2.jar
mchange-commons-java-0.2.11.jar
public static DataSource getDataSource(){
ComboPooledDataSource c3po = new ComboPooledDataSource();
try {
c3po.setDriverClass("com.mysql.jdbc.Driver");
c3po.setJdbcUrl("jdbc:mysql://localhost:3306/hospital");
c3po.setUser("root");
c3po.setPassword("admin");
c3po.setInitialPoolSize(20);
c3po.setMaxIdleTime(10);
c3po.setMaxPoolSize(10);
}catch (PropertyVetoException e){
e.printStackTrace();
}
return c3po;
}
a.先创建c3p0-config.xml(文件名必须为这个)文件:
root
admin
com.mysql.jdbc.Driver
30000
jdbc:mysql://localhost:3306/hospital
b.获取DataSource对象
public static DataSource getDataSource(){
return new ComboPooledDataSource("myConfig");//这里的参数为配置文件中自定义name属性的值
}