文章目录
- 1. 数据层解决方案
- 2. 数据源技术
1. 数据层解决方案
现有数据层解决方案技术选型:Druid + MyBatis-Plus + MySQL
- 数据源:DruidDataSource
- 持久化技术:MyBatis-Plus / MyBatis
- 数据库:MySQL
下面的研究就分为三个层面进行研究,对应上面列出的三个方面,从第一个数据源技术开始
2. 数据源技术
数据源配置格式
- 格式一
spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/ssm_db?serverTimezone=UTCusername: rootpassword: roottype: com.alibaba.druid.pool.DruidDataSource
- 格式二
spring:datasource: druid:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/ssm_db?serverTimezone=UTCusername: rootpassword: root
- 数据源技术
目前使用的数据源技术是Druid,运行时可以在日志中看到对应的数据源初始化信息,具体如下:
INFO 28600 --- [ main] c.a.d.s.b.a.DruidDataSourceAutoConfigure : Init DruidDataSource
INFO 28600 --- [ main] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} inited
- 如果不使用Druid数据源,程序运行后是什么样子呢?是独立的数据库连接对象还是有其他的连接池技术支持呢?将Druid技术对应的starter去掉再次运行程序可以在日志中找到如下初始化信息
INFO 31820 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
INFO 31820 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
-
虽然没有DruidDataSource相关的信息了,但是发现日志中有HikariDataSource这个信息,以DataSource结尾的名称,这一定是一个数据源技术。springboot内嵌数据源。
-
数据层技术是每一个企业级应用程序都会用到的,而其中必定会进行数据库连接的管理。springboot根据开发者的习惯出发,开发者提供了数据源技术,就用你提供的,开发者没有提供,就给一个默认的就行。
-
springboot提供了3款内嵌数据源技术,分别如下:
1、HikariCP
2、Tomcat提供DataSource
3、Commons DBCP