SpringBoot中如何整合Druid数据源
发表于:2025-02-13 作者:千家信息网编辑
千家信息网最后更新 2025年02月13日,这篇文章主要介绍"SpringBoot中如何整合Druid数据源",在日常操作中,相信很多人在SpringBoot中如何整合Druid数据源问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法
千家信息网最后更新 2025年02月13日SpringBoot中如何整合Druid数据源
这篇文章主要介绍"SpringBoot中如何整合Druid数据源",在日常操作中,相信很多人在SpringBoot中如何整合Druid数据源问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"SpringBoot中如何整合Druid数据源"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
1.数据库结构
2.项目结构
3.pom.xml文件
org.springframework.boot spring-boot-starter-jdbc mysql mysql-connector-java runtime com.alibaba druid 1.1.8 log4j log4j 1.2.17 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-maven-plugin
4.application.yml配置文件
spring: datasource: username: root password: wangqing url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai driver-class-name: com.mysql.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSource # 数据源其他配置 initialSize: 5 minIdle: 5 maxActive: 20 maxWait: 60000 timeBetweenEvictionRunsMillis: 60000 minEvictableIdleTimeMillis: 300000 validationQuery: SELECT 1 FROM DUAL testWhileIdle: true testOnBorrow: false testOnReturn: false poolPreparedStatements: true# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙 filters: stat,wall,log4j maxPoolPreparedStatementPerConnectionSize: 20 useGlobalDataSourceStat: true connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500 # 合并多个DruidDataSource的监控数据 #useGlobalDataSourceStat: true mybatis: # 指定全局配置文件位置 #config-location: classpath:mybatis/mybatis-config.xml # 指定sql映射文件位置 mapper-locations: classpath:mapper/*.xml #如src/main/resources下的mappers文件下的TUserMapper.xml # schema:# - classpath:sql/department.sql #根据department.sql 的sql语句创建表# - classpath:sql/employee.sql
5.创建一个DruidConfig的配置类,实例化Druid Datasource
package com.qingfeng.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.Arrays;import java.util.HashMap;import java.util.Map; @Configurationpublic class DruidConfig { //指定加载appliction.yml文件里面的spring.datasource开头的 // DruidDataSource类里面的属性与appliction.yml文件里面的spring.datasource开头的对应映射 @ConfigurationProperties(prefix = "spring.datasource") @Bean public DataSource druid(){ return new DruidDataSource(); } //配置Druid的监控 //1、配置一个管理后台的Servlet @Bean public ServletRegistrationBean statViewServlet(){ ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*"); MapinitParams = new HashMap<>(); initParams.put("loginUsername","admin"); initParams.put("loginPassword","123456"); initParams.put("allow","");//默认就是允许所有访问 initParams.put("deny",""); bean.setInitParameters(initParams); return bean; } //2、配置一个web监控的filter @Bean public FilterRegistrationBean webStatFilter(){ FilterRegistrationBean bean = new FilterRegistrationBean(); bean.setFilter(new WebStatFilter()); Map initParams = new HashMap<>(); initParams.put("exclusions","*.js,*.css,/druid/*"); bean.setInitParameters(initParams); bean.setUrlPatterns(Arrays.asList("/*")); return bean; }}
6.创建一个UserController类测试
package com.qingfeng.controller; import org.springframework.beans.factory.annotation.Autowired;import org.springframework.jdbc.core.JdbcTemplate;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.ResponseBody; import java.util.List;import java.util.Map; @Controllerpublic class UserController { @Autowired JdbcTemplate jdbcTemplate; @ResponseBody @GetMapping("/query") public Mapmap(){ List
7.运行项目,通过浏览器访问 http://localhost:8080/query
8.我们DruidConfig类里配置的下面代码可以帮我们实现监控
//配置Druid的监控 //1、配置一个管理后台的Servlet @Bean public ServletRegistrationBean statViewServlet(){ ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*"); MapinitParams = new HashMap<>(); initParams.put("loginUsername","admin"); initParams.put("loginPassword","123456"); initParams.put("allow","");//默认就是允许所有访问 initParams.put("deny",""); bean.setInitParameters(initParams); return bean; }
9.我们启动项目,打开网址:http://localhost:8080/druid/login.html 可以通过登录,查看druid数据源状态监控
我们上面设置的是用户名:admin 密码:123456
到此,关于"SpringBoot中如何整合Druid数据源"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
配置
数据
监控
文件
数据源
整合
学习
项目
位置
后台
就是
开头
更多
结构
帮助
管理
统计
实用
接下来
代码
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器ip ping不通
方舟服务器的mod怎么删除
单元测试操作数据库报错
海康服务器摄像头被锁定
初中生网络安全意识手抄报
江苏通信网络技术管理系统
三门峡网络安全公司
绍兴企业软件开发定做价格
校园网络安全指的是
asp数据库添加操作
运营商服务器应用场景
knx数据库
腾讯云服务器企业认证是否可更改
访谈软件开发生涯人物
江苏智能软件开发服务价格
商品条形码数据库下载
服务器虚拟机怎么启动
梅州软件开发公司厂家
软件开发设计人员
易达网络锁添加不了服务器
互联网推动科技创新的例子
数据库管理大专
开票数据库实时滚动数据
淄博app软件开发服务公司
基层网络安全先进个人主要事迹
数据库中的主码和外码是什么
网络安全防盗防诈骗黑板报
数据库查询前百分之40
电子科技大学工业互联网特色班
数据库主实例