程序是如何与MYSQL 数据库连接起来的(一)
日常开发中,我们主要是开发业务端代码,对于数据库,主要就是CRUD,其他的可能还有一些基本的数据库维护等。### 应用-数据库模型
!(data/attachment/forum/202211/21/145015vdzgu0ez8ujmyy88.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")
那么,我们的SQL到底是如何与数据库交互的呢?
两个应用必然需要通信,否则无法执行SQL的执行以及结果的返回,而且对于已发布应用,通常应用于数据库也都是完全不会在一台计算机上,更是需要网络进行通信。
### 驱动程序
只要进行应用开发,涉及到数据库,必然需要用到数据库驱动程序。
这就是应用与数据库的桥梁。
不仅仅是java对于其他语言,对于其他语言也都有可用的驱动程序,用来对MYSQL进行访问。
!(data/attachment/forum/202211/21/145216ttth6thhvhvtf755.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")
```xml
<!-- Mysql Connector -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
```
之前还会有一个形如 `<version>xxxx</version> `
用来标识版本号,现在大都使用springboot ,版本号容易管理,此处就不需要额外写了
### 数据库连接池
对于数据库连接的创建和销毁,是比较消耗资源的,所以池化技术在这个场景下很适用,所以也就必然有了数据库连接池,连接池负责数据库连接的管理,其中包括:调度分配、创建、销毁等。
!(data/attachment/forum/202211/21/150327t7kk7k45y7ko57wk.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")
所以这就是我们为什么开发应用的时候,除了一些必须要的配置,还需要引入数据库驱动以及数据库连接池的原因,这是这种业务架构的刚需:必须要数据库驱动,也必须不能直接创建连接,那样会浪费性能。
而对于MYSQL自身来说,他也需要面对外面很多的连接,他自身其实也是有池化连接的。
!(data/attachment/forum/202211/21/150947pejqhj11y0y9r0jg.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")
### 常见数据库连接池
`https://www.crazybytex.com/thread-175-1-1.html`
关于java数据库连接池的一些应用,可以参考上文,有简单介绍到一些常见的数据库连接池,常见的数据库连接池有DBCP,C3P0,Druid等等,作为java应用开发者,必然需要和他们打交道。
### 小结
本文主要是介绍了应用-数据库模型,以及简单介绍了连接池的重要性。
!(data/attachment/forum/202206/16/141330jha7st9soow8772i.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "common_log.png")
`转载务必注明出处:程序员潇然,疯狂的字节X,https://crazybytex.com/thread-225-1-1.html `
页:
[1]