【项目实战】SpringBoot的数据源配置

一、为什么需要配置数据源?

在SpringBoot项目中,可以通过配置一个数据源来提供数据的访问和管理。
SpringBoot提供了许多数据源的配置方式,如使用Spring Data JPA、Mybatis等框架来配置数据源。

二、配置数据源的两种方式

在SpringBoot中,配置数据源有两种方式:使用Spring Boot自动配置和使用手动配置。

2.1 使用Spring Boot自动配置

在application.properties或application.yml文件中添加以下配置:

url:数据库连接的URL。
username:数据库用户名。
password:数据库密码。
driver-class-name:数据库驱动程序的类名。

2.2 使用手动配置

在Spring Boot中创建一个类,使用@ConfigurationProperties注解
注解的prefix属性值需要与application.properties或application.yml文件中以prefix开头的配置项相匹配,然后写上对应的属性和get、set方法。

三、SpringBoot数据源配置示例

以下是一个简单的SpringBoot数据源配置示例:

3.1 配置数据源

在application.properties中配置数据源信息,如下所示:

spring.datasource.url=jdbc:mysql://localhost:3306/testdb?useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.type==com.alibaba.druid.pool.DruidDataSource
spring.datasource.max-idle=10
spring.datasource.min-idle=5
spring.datasource.initial-size=5
spring.datasource.time-between-eviction-runs-millis=60000
spring.datasource.max-lifetime=3600000
spring.datasource.validation-query=SELECT 1

其中,
url是数据库连接的地址
username和password是登录数据库的用户名和密码
driver-class-name是数据库驱动的类名
type是数据源的类型
max-idle和min-idle是数据源中最大和最小的空闲连接数
initial-size是数据源中初始的连接数
time-between-eviction-runs-millis是连接过期时间间隔
max-lifetime是连接的最长生存时间
validation-query是用于验证连接是否有效的SQL语句。

3.2 配置Druid数据源

Druid是一个高性能的数据库连接池,可以提供连接池管理、监控、安全等功能。
可以在application.properties中配置Druid数据源,如下所示:

spring.datasource.url=jdbc:mysql://localhost:3306/testdb?useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.max-idle=10
spring.datasource.min-idle=5
spring.datasource.initial-size=5
spring.datasource.time-between-eviction-runs-millis=60000
spring.datasource.max-lifetime=3600000
spring.datasource.validation-query=SELECT 1
spring.datasource.filters=stat,wall,log4j
spring.datasource.interceptor=druid.stat.StatInterceptor
spring.datasource.interceptor.stat.timeZone=GMT+8

其中,
filters参数指定了Druid数据源需要添加的过滤器
stat是用于统计连接池的使用情况的过滤器
wall是用于防止SQL注入的过滤器
log4j是用于日志输出的过滤器。
interceptor参数指定了Druid数据源需要添加的拦截器
statInterceptor是用于统计连接池使用情况的拦截器。

猜你喜欢

转载自blog.csdn.net/wstever/article/details/129927071
今日推荐