连接池 dbcp 与 c3p0
普通的JDBC中是用DriverManager 来获取.每次加载到内存中,占用资源非常多,都会开启和关闭,
所以需要采用连接池.
Data Source 是一个接口,是JDBC连接到池用的. 它包含管理池和连接池两个部分.
使用DBCP连接
首先加入DBCP的jar包.pool 的jar包
创建数据库连接池
DataSource datasource =new BasicDataSource(); //创建DBCP 数据源实例
datasource.setUsername(""); //为数据源指定必须的属性
datasource.setPassword("");
datasource.setUrl();
datasource.setDriverclassname("");
从数据源中获取数据库连接
Connection connection =dataSource.getConnection();
-------------------------以上是一个普通的DBPC连接------------------------
dbpc.properties文件
username=root
password=123456
deriverClassName=com.mysql.jdbc.Driver
url=jdbc;mysql:///数据库名字
接下来是对缓冲池的设定和连接数量大小设定
类的编写
Properties properties = new Properties(); //为dbpc.properties文件的导入
InputStream is =xxx.class.getclassLoader().getResourceAsStream("dbcp.properties");//为dbpc.properties文件的导入
properties.load(is); //加载传入的dbpc.properties
DataSource datasource =BasicDataSourceFactory.createDataSource(properties);//BasicDataSourceFactory中的createDataSource创建DataSource实例 进行了连接
BasicDataSource basicDataSource = (BasicDataSource)datasource;//从datasource获取数据库的连接 测试用
-------------------------以上是一个DBPC连接 使用工厂类------------------------
使用XML文件进行C3p0的数据库连接的配置
类的编写和调用xml文件如下
DataSource datasource = new ComboPooledDataSoure("helloc3p0");
完成
在工具了中可以将连接改为上图,这样更加简便调用数据可以时候直接类名.getConnection();