概述
实际开发中应用程序与数据库交互时,“获得连接”或“释放资源”是非常消耗系统资源的两个过程,为了解决此类性能问题,通常情况我们采用连接池技术来重用连接Connection对象,如图-1所示:
Java为数据库连接池提供了公共的接口:javax.sql.DataSource。常见的连接池有DBCP、C3P0,DRUID,HikariCP等。
下图为通过连接池获取连接的一个基本过程
上图中:用户通过DataSource对象的getConnection()方法,获取一个连接。假如池中有连接,则直接将连接返回给用户。假如池中没有连接,则会调用Dirver(驱动,由数据库厂商进行实现)对象的connect方法从数据库获取,拿到连接以后,可以将连接在池中放一份,然后将连接返回给调用方。
整合HikariCP连接池
第一步:添加依赖。
编辑项目中pom.xml,右键项目的pom.xml文件,选择spring,如图-3所示:
查找mysql 驱动依赖,JDBC API依赖,如图-4所示
依赖添加以后,在pom.xml文件中会自动添加如下两个依赖配置:
- mysql数据库驱动依赖。
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
- spring对象jdbc支持(此时会默认帮我们下载HiKariCP连接池)。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
第二步:配置连接池
打开application.properties配置文件,添加如下内容。
spring.datasource.url=jdbc:mysql:///dbgoods?serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=root
分析原理 如图: