一、MySQL驱动
我们如果在 Java 系统里要访问 MySQL,我们只需要引入一个 MySQL 的驱动即可,然后通过 MySQL 驱动和 MySQL 进行网络通信,对数据库表进行各种增删改查的操作。
二、如何引入 MySQL 驱动
1、以前的老旧方法:
我们会找到 MySQL 驱动的 jar 包,然后放到项目中的 lib 文件夹里头。
2、现在比较高级的方法 :
可以直接使用 Maven 或者 Gradle 引入 MySQL 驱动的依赖。
maven:
<dependencies>
<dependency>
<groupId>MySQL</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.46</version>
</dependency>
</dependencies>
gradle:
dependencies{
compile ("mysql:mysql-connector- java:5.1.24")
}
三、客户端连接池
1、争抢数据库连接:
上面说到,我们是通过 MySQL 驱动和 MySQL 进行网络通信,既然是网络通信,那么就会有一条数据库连接在。
我们的系统当然不可能每秒只有一条请求过来,那么就会存在多个请求去争抢一个数据库连接,没抢到的还需要排队等候,这是相当降低接口的执行性能的。
2、重复创建和断开:
当请求执行完了,数据库连接必定会断开连接。而当新的请求过来,又要重新创建一个新的数据库连接,所以这里会出现重复创建和断开数据库连接,而创建和断开操作都很耗时的。
3、连接池机制:
这时候就会出现数据库连接池的机制,他会在池子里维持多个数据连接,让多个线程使用里面的不同的数据库连接去执行SQL语句,然后执行完SQL语句之后,不要销毁这个数据库连接,而是把连接放回池子里,后续还可以继续使用。
4、常见的数据库连接池:
DBCP、C3P0、Druid,HikariCP等等。
四、MySQL 的数据库连接池
1、维护多个连接:
MySQL 的数据库连接池就是维护了与系统之间的多个数据库连接。
2、验证:
除此之外,系统每次和 MySQL 建立连接池,连接池会进行帐号密码的验证和库表权限的验证。
原文地址:https://www.cnblogs.com/Howinfun/p/12273892.html
时间: 2024-10-16 04:38:54