1、引言
对于数据访问层,无论是SQL还是NOSQL,Spring Boot默认采用整合
Spring Data的方式进行统一处理,添加大量自动配置,屏蔽了很多设置。引入各种xxxTemplate,xxxRepository来简化我们对数据访问层的操作。对我们来说只需要进行简单的设置即可。
2、步骤
这里springboot版本是springboot2.18
1、引入starter –spring-boot-starter-jdbc
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring‐boot‐starter‐jdbc</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql‐connector‐java</artifactId>
<scope>runtime</scope>
</dependency
2、配置application.yml
spring:
datasource:
username: root
password: 123456
url: jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone = GMT
driver-class-name: com.mysql.cj.jdbc.Driver
注意:springboot2中默认数据源是Hikari,这里mysql驱动发生了更新,驱动名:
com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone = GMT
url要加入:serverTimezone=UTC否则会报错
3、测试
@RunWith(SpringRunner.class)
@SpringBootTest
public class Springboot06DataJdbcApplicationTests {
@Autowired
DataSource dataSource;
@Test
public void contextLoads() throws Exception {
System.out.println(dataSource.getClass());
Connection connection = dataSource. getConnection();
System.out.println(connection);
connection.close();
}
}
运行结果:
可以看出springboot2默认数据源使用的是hikariDatasorece
数据源的相关配置都是在
DataSourceProperties
3、原理解析
数据源配置解析
DataSourceConfiguration
作用:实际的数据源导入配置,包括
tomcat.jdbc.pool.DataSource、HikariDataSource、dbcp2.BasicDataSource
1、自定义数据源:
调用步骤:
DataSourceProperties
返回一个DataSourceBuilder对象,使用DataSourceBuilder创建数据源,利用反射创建响应type的数据源,并且绑定相关属性
DataSourceBuilder