第一章 连接池
一.1. 遇到的问题-引出连接池
|
图片.png|
一.2. 连接池思想
|
图片.png|
一.3. 连接池的概述
图片.png一.4. 使用连接池和不使用连接池的区别在哪里
图片.png一.5. Druid连接池的使用
一.5.1. 准备druid 连接池jar包到项目
| 图片.pngpackage cn.yq.jdbc.test;
import static <u>org.junit.Assert</u>.*;
import java.io.InputStream;
import <u>java.io.Reader</u>;
import java.sql.Connection;
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 <u>com.alibaba.druid.pool.DruidPooledConnection</u>;
public class DataSourceTest {
// 直接创建连接池对象
@Test
public voidtestName() throws Exception {
// 1.创建连接池对象
DruidDataSource <u>ds</u>= new DruidDataSource();
// 2.设置连接数据库的账号密码
ds.setDriverClassName("com.mysql.jdbc.Driver");
ds.setUrl("jdbc:mysql://localhost:3306/jdbcdemo");
ds.setUsername("root");
ds.setPassword("root");
ds.setMaxActive(10);// 最大连接数
// 3.获取连接对象
Connection conn= ds.getConnection();
System.out.println(conn);
}
// 使用工厂对象创建连接池对象,工厂对象的好处,不需要直接设置账号密码等等,只需要将
// 连接数据库的账号密码等等以指定的 key的名称配置到 xxx.properties文件中即可,工厂对象底层自动读取
@Test
public voidtestDataSourceByFactory() throws Exception {
// 1.获取类加载器用于加载<u>clsspath</u>下面的 配置文件
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
// 2.读取druid.properties配置文件
InputStream inputStream= classLoader.getResourceAsStream("druid.properties");
// 3.创建Properties对象,并读取配置文件对应的输入流
Properties p= new Properties();
p.load(inputStream);
// 4.创建连接池对象
DataSource ds = DruidDataSourceFactory.createDataSource(p);
// 5.获取连接对象
Connection conn= ds.getConnection();
System.out.println(conn);
}
}
|
|
|
一.5.2. druid.propperties
|
图片.png|
一.5.3. 使用Druid抽取的工具类
|
图片.png|
测试:
图片.png
结果:
图片.png
网友评论