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的值来选择数据源


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部