首页 > 其他分享 >【springboot】配置数据源datasource

【springboot】配置数据源datasource

时间:2023-02-22 11:24:00浏览次数:32  
标签:jdbc springboot spring 数据库 mysql datasource 数据源

数据源datasource

  • 可以获取数据库连接Connection
  • 可以创建JdbcTemplate操作数据库

默认配置

  • spring 默认的数据库连接池为Hikari,
  • maven依赖如下
<!--spring-boot-starter-jdbc自动配置-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
    <version>2.2.2.RELEASE</version>
</dependency>
<!--数据库驱动-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.18</version>
</dependency>

-在application.properties文件中配置数据库连接属性,
这里使用的是springboot starter机制自动配置好数据源,所以能使用最少量的属性实现自动配置
spring-boot-starter-jdbc由spring-boot-starter(自动配置,自动扫描)、spring-jdbc(提供spring管理数据库的标准接口)和HikariCP(Spring默认的数据库连接池)组成

spring.datasource.url=jdbc:mysql://localhost:3306/blue?serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=wan4380797
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

自定义datasourc

有些场景我们不想使用SpringBoot JDBC默认的数据源,我需要引入数据库连接池,然后自定义数据源,指定数据源类型
以Dbcp2数据库连接池配置数据源为例:

  • maven依赖如下
<!-- dbcp2数据库连接池 -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-dbcp2</artifactId>
    <version>2.7.0</version>
</dependency>
<!--数据库驱动-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.18</version>
</dependency>
<!-- 提供操作数据库的标准口径 -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>5.2.2.RELEASE</version>
    <scope>compile</scope>
</dependency>
  • application.properties文件中配置数据库连接属性。
customize.datasource.url=jdbc:mysql://localhost:3306/blue?serverTimezone=UTC
customize.datasource.username=root
customize.datasource.password=wan4380797
customize.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
  • 自定义datasource
import org.apache.commons.dbcp2.BasicDataSource;
@Configuration
public class Dbcp2DataSource {
    @Bean("myDbcp2DataSource")
    @ConfigurationProperties(prefix = "customize.datasource")
    public DataSource getDataSource(){
        // BasicDataSource来源于配置的dbcp2依赖的jar包
       return DataSourceBuilder.create().type(BasicDataSource.class).build();
    }
}


  • 在别处引用时需要使用自动注入
    @Autowired
    @Qualifier("myDbcp2DataSource")
    private DataSource dataSource;

    JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);

标签:jdbc,springboot,spring,数据库,mysql,datasource,数据源
From: https://www.cnblogs.com/xiaoyu-jane/p/17143688.html

相关文章

  • SpringBoot+Lock4j实现高性能分布式锁
    1.简介  在分布式业务开发中,很多场景都需要添加分布式锁。在具体实践过程中,研发人员都需要自行实现,导致实现方式不统一,代码风格迥异,难以维护。  在Mybatis-Plus生态......
  • springboot读取配置信息,环境变量的方法
    前提配置文件一般是值resources目录下的application.properties或application.yml,其中保存着配置信息代码中实现配置注入的方法使用@Value注解@Value("${test.msg}")......
  • SpringBoot多数据源
    重点概念多数据源在配置之后是根据service的实现类上面的注解来确定生效范围的,一个实现类可以根据注解代表一个数据库ServiceImplimportcom.baomidou.dynamic.datasou......
  • 股票、指数、快照、逐笔... 不同行情数据源的实时关联分析应用
    在进行数据分析时经常需要对多个不同的数据源进行关联操作,因此在各类数据库的SQL语言中均包含了丰富的join语句,以支持批计算中的多种关联操作。DolphinDB不仅通过joi......
  • Camunda(二)---Springboot引入
    Springboot引入参考:【第三篇】Camunda系列-整合SpringBoot-腾讯云开发者社区-腾讯云(tencent.com) 简单的引入方式访问:https://start.camunda.com解压压缩包,通过......
  • springboot 使用@Async注解实现异步多线程
    1、在启动类中添加注解@SpringBootApplication@EnableAsync//@ImportResource(locations={"classpath:spring/my.xml"})publicclassDemoApplication{publi......
  • Springboot整合JWT封装工具类篇(二)
    前言:这里是将Springboot整合JWT测试篇(一)封装成工具类publicclassJWTUtils{//秘钥自己保管好privatestaticStringSECRET="token!Q@W3e4r";/**......
  • Springboot整合JWT测试篇(一)
    一、pom文件中引入依赖<!--引入jwt--><dependency><groupId>com.auth0</groupId><artifactId>java-jwt</artifactId><version>3.4.0</version></dependency>......
  • eclipse创建springBoot项目
    创建SpringBoot工程先在eclipse中安装spring-tool-suite插件,然后根据以下步骤可以创建1、新建SpringStarterProject2、Packaging选择jar 3、勾选Web项 4、项目结......
  • SpringBoot集成Tomcat服务
    目录一、Tomcat集成1、依赖层级2、自动化配置二、Tomcat架构三、Tomcat配置1、基础配置2、属性配置类3、配置加载分析四、周期管理方法1、控制类2、核心方法五、参考源码......