Spring Boot 配置数据库 连接方式

Spring Boot  (mybatis)配置数据库 连接方式

 

1、第一种方式,使@Value 注解的方式进行注入

1.1 编写配置文件 例如 jdbc.properties

  

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/leyou
jdbc.username=root
jdbc.password=123456

 

1.2 编写一个属性类、配置类


@Data
public class jdbcProperties {
String url;
String driverClassName;
String username;
String password;
}















package com.caicia.config; import com.alibaba.druid.pool.DruidDataSource; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.PropertySource; import javax.sql.DataSource; @Configuration @EnableConfigurationProperties(jdbcProperties.class) @PropertySource("classpath:jdbc.properties") 以前的配置方式 public class JdbcConfig { //Spring boot 自带的Value注解 @Value("${jdbc.url}") String url; @Value("${jdbc.driverClassName}") String dirclassname; @Value("${jdbc.username}") String username; @Value("${jdbc.password}") String password; @Bean public DataSource dataSource(){ DruidDataSource dataSource = new DruidDataSource(); dataSource.setDriverClassName(dirclassname); dataSource.setUsername(username); dataSource.setUrl(url); dataSource.setPassword(password); return dataSource; } }

 

 

2、第二种数据库注入方式

 2.1 编写一个默认的数据配置文件:application.proterties

      

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/leyou
jdbc.username=root
jdbc.password=123456

 

 2.2 编写属性类 

     

package com.caicia.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
//添加配置属性注解
@ConfigurationProperties(prefix = "jdbc") //追加前缀 
@Data //lombock 插件,使用这个注解,可以在编译的时候自动生成 get set  toString 方法。详细查看lombock 源码
public class jdbcProperties {
    String url;
    String driverClassName;
    String username;
    String password;
}

 

2.3 编写配置类

       

package com.caicia.config;


import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;

import javax.sql.DataSource;
//添加配置类注解
@Configuration
//添加允许配置属性注解,并引入配置文件 @EnableConfigurationProperties(jdbcProperties.
class) // public class JdbcConfig { @Bean public DataSource dataSource(jdbcProperties jdbcProperties){ DruidDataSource dataSource = new DruidDataSource(); dataSource.setDriverClassName(jdbcProperties.getDriverClassName()); dataSource.setUsername(jdbcProperties.getUsername()); dataSource.setUrl(jdbcProperties.getUrl()); dataSource.setPassword(jdbcProperties.getPassword()); return dataSource; } }

3、相对优雅的注入数据方式

     3.1 编写属性类

         

package com.caicia.config;

import lombok.Data;

@Data
public class jdbcProperties {
    String url;
    String driverClassName;
    String username;
    String password;
}

3.2 编写配置类

    

package com.caicia.config;


import com.alibaba.druid.pool.DruidDataSource;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;import javax.sql.DataSource;
//添加配置类注解
@Configuration
public class JdbcConfig {
        @Bean
        @ConfigurationProperties(prefix = "jdbc")
// datasource 方法是Spring 去调用的,它会在调用的时候,首先会扫描到配置注解,然后去找datasouce 相关字段有没有set 方法如果有 自动注入到applicationcontext 中
public DataSource dataSource (){ return new DruidDataSource(); } }

 

  3.3 编写 application.properties

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/leyou
jdbc.username=root
jdbc.password=123456

 

posted @ 2021-07-01 22:00  菜菜920  阅读(2896)  评论(0编辑  收藏  举报