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. 編譯、運行,測試下數據庫操作是否正常!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章