JDBC--数据库连接池
2022-05-31 本文已影响0人
何以解君愁
数据库连接池是一个容器,负责分配、管理数据库连接(Connection),它允许应用程序重复使用现有的一个数据库连接,而不是重新创建一个
释放空闲时间超过最大空间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏
(数据库连接遗漏:当不停有用户进行连接,不归还,当数据库连接池无连接时,若又来了一个用户进行连接,系统会判断是否有人长时间未使用,若有,系统会断开该连接并归还进容器给用户进行连接)
数据库连接池的好处:资源重用;提升系统响应速度;避免数据库连接遗漏
标准接口:DataSource
官方(SUN)提供的数据库连接池标准接口,由第三方组织实现此接口;功能:获取连接Connection getConnection()
常见的数据库连接池:DBCP、C3P0、Druid
Druid(德鲁伊)连接池是阿里巴巴开源的数据库连接池项目;功能强大性能优秀,是Java语言最好的数据库连接池之一
Druid使用步骤:①导入jar包 druid-1.1.12.jar②定义配置文件③加载配置文件④获取数据库连接池对象⑤获取连接
下载链接:https://repo1.maven.org/maven2/com/alibaba/druid/1.1.12/
import javax.sql.DataSource;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.sql.Connection;
import java.util.Properties;
public class DruidDemo {
public static void main(String[] args) throws Exception {
//打印当前路径
// System.out.println(System.getProperty("user.dir"));
//1.导入jar包
// 下载后拖拽到lib目录粘贴后点右键-> add as library,将第二个选项进行更改,上面意思一次是,全局有效、当前工程有效、模块有效
//2.定义配置文件
//src下定义一个resource bundle
/*driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/db1?useSLL=false&useServerPrepstmts=true
username=root
password=123456
#初始化连接数量
initialSize=5
#最大连接数量
maxActive=10
#最大等待时间
maxWait=3000*/
//3.加载配置文件
Properties prop = new Properties();
prop.load(new FileInputStream("jdbc-Demo/src/druid.properties"));
//4.获取连接池对象
DataSource dataSource = DruidDataSourceFactory.createDataSource(prop);
//5.获取数据库链接Connection
Connection connection = dataSource.getConnection();
System.out.println(connection);
}
}