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;
}
}