连接池
问题:
-
每次JDBC访问MySQL,都需要一个Connection对象。
-
一个Connection对象创建,需要经历(开辟内存空间、初始化数据、建立java和MySQL之间的io连接,最后完成Connection的创建),这个过程会消耗CPU资源和JVM内存资源。
-
如果使用完Connection,就销毁掉,会让Connection对象创建消耗的资源白白浪费掉。
解决思路:
1. 事先创建好一个管理器容器,内部准备好一定数量的连接池。(只做一次) 2. 当Java访问数据库需要用连接的时候, 直接从连接池中获取一个conn对象。(避免了创建conn过程消耗的时间,效率高。) 3. 使用完毕conn之后,将conn还回连接池。(以备重复利用)
连接池:
对一定数量的Connection对象,进行池化管理,可以重复利用connection对象,节约CPU和JVM内存资源。
编码:
//1 创建,并配置DataSource
String url = "jdbc:mysql://localhost:3306/baizhi?useUnicode=true&useSSL=false&serverTimezone=Asia/Shanghai";
String username = "root";
String password = "123456";
DataSource dataSource = new DriverManagerDataSource(url,username,password);