Druid数据库连接池技术
package eight_Passage.Druid;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
import javax.sql.DataSource;
import org.junit.Test;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.DruidDataSourceFactory;
import eight_Passage.DBCP.DbcpTest;
public class DruidTest {
public static void main(String[] args) throws Exception {
DruidTest druidTest = new DruidTest();
Connection connection1 = druidTest.getConnection1();
System.out.println(connection1);
}
//方法一,有缺陷,便于理解
public static Connection getConnection() throws Exception {
InputStream is = DruidTest.class.getClassLoader().getResourceAsStream("druid.properties");
Properties prop = new Properties();
prop.load(is);
DataSource source = DruidDataSourceFactory.createDataSource(prop);
Connection connection = source.getConnection();
return connection;
}
//真正的操作时我们只需要一个数据库连接池
private static DataSource source1=null;
static {
InputStream is = DruidTest.class.getClassLoader().getResourceAsStream("druid.properties");
Properties prop = new Properties();
try {
prop.load(is);
source1 = DruidDataSourceFactory.createDataSource(prop);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public Connection getConnection1() throws Exception {
Connection connection = source1.getConnection();
return connection;
}
}
在src目录下创建配置文件druid.properties
url=jdbc:mysql:///test
username=root
password=root
driverClassName=com.mysql.jdbc.Driver
initialSize=6
注意:如果配置文件没有写maxActive的活跃数,默认的是8
一旦连接数超过8就会报错