springboot中配置mybatis数据源,使用阿里的 Druid 数据库连接池

参考了很多文章,记录下自己的学习过程!

参考:https://blog.csdn.net/weixin_40776321/article/details/99633110

1. 在pom.xml中添加依赖:

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.1.20</version>
</dependency>

2.  在application-xxx.yaml中添加数据源配置

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    url: jdbc:mysql://xx.xx.xx.xx:3306/DB?useSSL=false&useTimezone=true&serverTimezone=GMT%2B8&allowMultiQueries=true
    username: root
    password: 112233
    driver-class-name: com.mysql.cj.jdbc.Driver
    dbcp2:
      min-idle: 3             # 数据库连接池的最小维持连接数
      initial-size: 3
      max-total: 5            # 最大的连接数
      max-wait-millis: 200    # 等待连接获取的最大超时时间

3. 添加一个Druid数据源配置文件:DruidConfig.java

package com.joe.config;

import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.support.http.StatViewServlet;
import com.alibaba.druid.support.http.WebStatFilter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import javax.sql.DataSource;
import java.util.HashMap;

@Configuration
public class DruidConfig {

	@Bean
	@SuppressWarnings("unchecked")
	public ServletRegistrationBean druidServlet()
	{
		var bean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");

		var map = new HashMap<String, String>() {
   
   {
			put("allow", "127.0.0.1,192.168.1.10");
			put("deny", "192.168.1.12");
			put("loginUsername", "root");
			put("loginPassword", "root");
			put("resetEnable", "false");
		}};

		bean.setInitParameters(map);

		return bean;
	}

	@Bean
	@SuppressWarnings("unchecked")
	public FilterRegistrationBean filterRegistrationBean()
	{
		var bean = new FilterRegistrationBean();

		bean.setFilter(new WebStatFilter());
		bean.addUrlPatterns("/*");
		bean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.css,/druid/*");

		return bean;
	}

	@Bean
	@ConfigurationProperties(prefix = "spring.datasource")
	public DataSource druidDataSource()
	{
		return new DruidDataSource();
	}
}

4. 编译、运行,测试下数据库操作是否正常!

猜你喜欢

转载自blog.csdn.net/JoeBlackzqq/article/details/105414885