springboot 配置数据源

目录 
[TOC]

1. 使用Spring Boot默认数据源

1.1 引入POM依赖

在pom文件中直接依赖官方提供的spring-boot-start-jdbc模块或者spring-boot-start-data-jpa模块。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
  • 1
  • 2
  • 3
  • 4

1.2 数据库配置

Spring Boot支持.properties格式和.yml格式配置文件,根据个人习惯可以随意选择(笔者推荐yml格式,可读性更强)。在classpath路径下创建application.properties文件或者application.yml文件。两种类型配置分别如下

  • .yml配置文件
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost/test
    username: root
    password: 123456
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

注意: .yml类型文件,属性名后面冒号和值之间必须有一个空格,如username: root是正确格式, 但是useranme:root格式就是错误的。

  • .properties文件配置
spring.datasource.url=jdbc:mysql://localhost/test
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
  • 1
  • 2
  • 3
  • 4

2. 使用其它第三方数据源

如果不想使用默认的tomcat-jdbc数据源,也可以根据需要选择其它性能优秀的数据源,如Druid、c3p0等等。本文中以Druid为例。

2.1 引入POM依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-jdbc</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<!-- 引入Druid依赖 -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.0.29</version>
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

2.2 数据库配置

属性配置跟1.2相同

2.3 定义数据源

@ComponentScan
@Configuration
public class ApplicationConfig {

    @Autowired
    private Environment env;

    @Bean
    public DataSource getDataSource() {
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setUrl(env.getProperty("spring.datasource.url"));
        dataSource.setUsername(env.getProperty("spring.datasource.username"));
        dataSource.setPassword(env.getProperty("spring.datasource.password"));
        return dataSource;
    }   
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

或者也可以这样:

@ComponentScan
@Configuration
@ConfigurationProperties(prefix="spring.datasource")
public class ApplicationConfig {

    private String url;
    private String username;
    private String password;

    @Bean
    public DataSource getDataSource() {
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setUrl(url);
        dataSource.setUsername(username);// 用户名
        dataSource.setPassword(password);// 密码
        return dataSource;
    }

    public String getUrl() {
     return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

猜你喜欢

转载自blog.csdn.net/zflovecf/article/details/80437475