SpringBoot中如何整合Druid数据源
发表于:2024-09-23 作者:千家信息网编辑
千家信息网最后更新 2024年09月23日,这篇文章主要介绍"SpringBoot中如何整合Druid数据源",在日常操作中,相信很多人在SpringBoot中如何整合Druid数据源问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法
千家信息网最后更新 2024年09月23日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安全错误
数据库的锁怎样保障安全
网络安全无线网络安全
我的世界好玩的侧塔服务器号
成都世纪网络技术
军人网络安全壁纸
统计系统网络安全管理制度
荒野行动怎么一直正在连接服务器
恩度网络技术有限公司
如何取消默认数据库
维普数据库文章会删掉
奕天网络技术有限公司
哪个数据库是免费的
河南信阳有多少家软件开发公司
美团外卖服务器或网络故障
旧服务器电源能买么
服务器u.2接口硬盘
沈良深圳再出发科技金融互联网
数据库开发python面试
软件开发的质保期一般多久
网络安全培训教材百度文库
工银瑞信软件开发
中国铁路网络安全宣传主题
饭卡管理系统连接数据库
如果阿神开了吃鸡服务器
服务器2003 2008
数据库和返回差一天
福州克副网络技术有限公司
我的世界跨服务器
execel服务器缺少根元素
数据库设计学生表mysql
谷歌服务器可以装系统吗