springboot2对数据的访问
1.导入相关依赖
导入springboot的jdbc和mysql的启动器
<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.在默认配置文件中写入数据库连接相关信息
spring:datasource:username: rootpassword: 123456url: jdbc:mysql://localhost:3306/jdbcdriver-class-name: com.mysql.cj.jdbc.Driver
3.测试连接
在test中测试
@SpringBootTest
class Springboot06DataJdbcApplicationTests {@AutowiredDataSource ds;@Testvoid contextLoads() throws SQLException {System.out.println(ds.getClass());Connection connection = ds.getConnection();System.out.println(connection);}}
结果为

可以看出 Spring Boot 2默认使用 com.zaxxer.hikari.HikariDataSource 数据源,而以前版本,如 Spring Boot 1.5 默认使用 org.apache.tomcat.jdbc.pool.DataSource 作为数据源;
4.自动配置原理
org.springframework.boot.autoconfigure.jdbc:
1、参考DataSourceConfiguration,根据配置创建数据源,默认使用HikariDataSource数据源
2、SpringBoot默认可以支持;
org.apache.tomcat.jdbc.pool.DataSource、HikariDataSource、BasicDataSource
3、使用spring.datasource.type指定自定义的数据源类型
/*** Generic DataSource configuration.*/
@ConditionalOnMissingBean(DataSource.class)
@ConditionalOnProperty(name = "spring.datasource.type")
static class Generic {@Beanpublic DataSource dataSource(DataSourceProperties properties) {//使用DataSourceBuilder创建数据源,利用反射创建响应type的数据源,并且绑定相关属性return properties.initializeDataSourceBuilder().build();}}
自动配置类中获取spring.datasource.type的值来选择数据源
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
