操作关系型数据库
一、整合Druid整理 1、数据源自动配置原理 (1)导入相关依赖- 导入我们的依赖
org.springframework.boot spring-boot-starter-jdbc
导入了如下的一个数据源(数据库连接池)
com.zaxxer HikariCP4.0.3 compile
-
我们发现并没有导入驱动包,为什么呢
其实就是官方不知道你接下来操作什么数据库。 -
导入mysql的的驱动。
(2)这再次复习一下我们为什么不用导入版本mysql mysql-connector-java
- 首先看看我们的项目结构
mysql mysql-connector-java
- 其实原理还是比较好理解的,我们的pom就是对我们的项目依赖版本管理,首先父项目的最高依赖里面就进行了版本仲裁,后续你就不用再配置,但是你也可以重新设置。你可以在如下的两个位置进行配置
-
来看看导入了jdbc的配置
- DataSourceAutoConfiguration对数据源进行配置
如果要进行配置,那就在配置文件就可以,这里开启了配值。
数据库连接池的配置
底层配置好的数据库连接池是Hikari
并且对其进行配置
- DataSourceTransactionManagerAutoConfiguration:对事物管理器进行配置
- JdbcTemplateAutoConfiguration:可以对数据库进行操作。可以通过spring.jdbc对配置文件进行配置。
- JndiDataSourceAutoConfiguration:JNDI的自动配置。
- XADataSourceAutoConfiguration:分布式事物。
- DataSourceAutoConfiguration对数据源进行配置
-
可以查询试一试
- 我们整合其他的框架的,我们SpringBoot有两种方式:自定义和找starter,先看看自定义方式。
- 官网:地址
(2)编写配置类com.alibaba druid1.1.21
我们这里可以这样写死,但是不建议这样做,因为我们之前在配置文件里面配置了,通过如下方式更快。
说明我们配置生效
- https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98
//之前经过源代码发现,它会先检查,如果你没有配置,它才会配置
@Configuration
public class MysqlConfig {
@ConfigurationProperties("spring.datasource")
@Bean
public DataSource dataSource() {
DruidDataSource druidDataSource = new DruidDataSource();
return druidDataSource;
}
@Bean
public ServletRegistrationBean servletRegistrationBean() {
StatViewServlet statViewServlet = new StatViewServlet();
return new ServletRegistrationBean(statViewServlet,"/druid*.xml文件,之后就建议放在这个路径。其他都给你配置好了,你顾着写你的业务逻辑即可。 


