下面我将为大家详细讲解使用Spring Boot配置Druid数据源的方法。
1. 引入Druid和JDBC驱动
首先,我们需要在maven中引入druid和JDBC驱动的相关依赖,可以根据实际需求进行版本选择。在pom.xml文件中添加以下依赖:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.22</version>
</dependency>
2. 在application.properties中配置Druid数据源
接下来,在Spring Boot的配置文件application.properties中配置Druid数据源,包括用户名、密码、url等信息。在配置文件中添加以下配置:
# DRUID 配置
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.username=root
spring.datasource.password=
spring.datasource.url=jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC
# Druid 监控配置
spring.datasource.druid.initial-size=5
spring.datasource.druid.min-idle=5
spring.datasource.druid.max-active=20
spring.datasource.druid.test-on-borrow=true
spring.datasource.druid.stat-view-servlet.allow=true
spring.datasource.druid.stat-view-servlet.login-username=admin
spring.datasource.druid.stat-view-servlet.login-password=123456
spring.datasource.druid.filter.stat.log-slow-sql=true
spring.datasource.druid.filter.stat.slow-sql-millis=2000
3. 在代码中使用Druid数据源
经过前两步的操作,我们已经成功地配置好了Druid数据源,接下来就可以在代码中使用了。具体的使用方法是,在需要使用的类中注入DataSource,并使用JDBC连接进行查询等操作。以下是使用JdbcTemplate进行查询的示例代码:
@Service
public class UserServiceImpl implements UserService {
@Autowired
private JdbcTemplate jdbcTemplate;
@Override
public List<User> getUserList() {
String sql = "SELECT * FROM user";
List<User> userList = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(User.class));
return userList;
}
}
还可以通过DruidDataSource获取连接池信息等相关数据,以下是一个获取池状态信息的示例代码:
@Autowired
private DataSource dataSource;
public void printPoolStatus() {
DruidDataSource druidDataSource = (DruidDataSource) dataSource;
System.out.println("当前活跃连接数:" + druidDataSource.getActiveCount());
System.out.println("当前连接数:" + druidDataSource.getPoolingCount());
System.out.println("当前没有被任何线程使用的连接数:" + druidDataSource.getEmptyCount());
System.out.println("当前等待获取连接的线程数:" + druidDataSource.getWaitThreadCount());
System.out.println("当前连接最长使用时间(单位s):" + druidDataSource.getMaxEvictableIdleTimeMillis() / 1000);
}
以上就是使用Spring Boot配置Druid数据源的详细攻略,希望能够对大家有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot使用Druid数据源的配置方法 - Python技术站