【Springboot总结】22 数据访问

本文详细解析了Spring Boot框架中JDBC的自动配置过程,包括项目创建、配置文件设置、数据源自动配置原理及自定义数据源的方法。介绍了如何通过spring.datasource.type配置自定义数据源类型,以及DataSourceInitializer在项目启动时运行schema和data脚本的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

一、整合基本的JDBC 

 

1. 创建新的项目

   选择 Mysql 、JDBC、Web

 

 

2. application.yml文件中配置连接信息

 

3. 测试连接信息

效果:默认是用org.apache.tomcat.jdbc.pool.DataSource作为数据源;数据源的相关配置都在DataSourceProperties里面;

 

二、数据源自动配置的原理

自动配置原理:org.springframework.boot.autoconfigure.jdbc:

1. 参考DataSourceConfiguration,根据配置创建数据源,默认使用Tomcat JDBC连接池;可以使用spring.datasource.type指定自定义的数据源类型;

2. SpringBoot默认可以支持;

org.apache.tomcat.jdbc.pool.DataSource、HikariDataSource、BasicDataSource、

3. 自定义数据源

/**
 * Generic DataSource configuration.
 */
@ConditionalOnMissingBean(DataSource.class)
@ConditionalOnProperty(name = "spring.datasource.type")
static class Generic {

   @Bean
   public DataSource dataSource(DataSourceProperties properties) {
       //使用DataSourceBuilder创建数据源,利用反射创建相应type的数据源,并且绑定相关属性
      return properties.initializeDataSourceBuilder().build();
   }

}

【提示】根据我们的spring.datasource.type的配置,springboot会自动的使用DataSourceBuilder创建数据源,利用反射创建相应type的数据源,并且绑定相关属性

4. DataSourceInitializer:ApplicationListener;

         作用:

​               runSchemaScripts();运行建表语句;

              runDataScripts();运行插入数据的sql语句;

        默认加载 类路径下 schema-*.sql、data-*.sql的文件。schema-*.sql时间创建表的文件,另外一个是插入数据的文件!

        自定义:在application.yml文件中配置

        

         【提示】schema的配置在下次启动之后还会重新创建表。也就是说schema的配置在项目启动之初配上,之后就不要配置                           了,否则项目运行中插入的数据下次启动后创建新表,原先的数据就没有了!

 

5. 操作数据库

          自动配置了JdbcTemplate操作数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值