news 2026/6/15 16:44:36

springboot 整合 druid

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
springboot 整合 druid

文章目录

    • 目录
    • pom.xml
      • druid版本问题
      • 项目的依赖
    • application.yml
    • 实体类 User
    • 实体类 User 对应的 controller
    • spboot 的启动程序

目录

pom.xml

druid版本问题

druid 的依赖版本,尽量选择 1.2.20 及 以上,不然会报错

<dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-3-starter</artifactId><version>1.2.20</version>// 不要用 1.2.18 哦,会报错<version>1.2.18</version></dependency>

通过源码分析,druid-spring-boot-3-starter的 1.2.18 版本,
虽然,适配了 SpringBoot3,
但是,缺少自动装配的配置文件,
需要手动在resources目录下创建
META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports,
文件内容如下:

com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceAutoConfigure

项目的依赖

<?xml version="1.0" encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.0.5</version></parent><groupId>com.atguigu</groupId><artifactId>boot-druid</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><!-- web开发的场景启动器 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- 数据库相关配置启动器 jdbctemplate 事务相关--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><!-- druid启动器的依赖 --><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-3-starter</artifactId><version>1.2.20</version></dependency><!-- 驱动类--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.28</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.28</version></dependency></dependencies></project>

application.yml

spring:datasource:type:com.alibaba.druid.pool.DruidDataSource# 使用druid连接池druid:url:jdbc:mysql:///mybatis-exampleusername:rootpassword:rootdriver-class-name:com.mysql.cj.jdbc.Driver# 初始化时建立物理连接的个数initial-size:5# 连接池的最小空闲数量min-idle:5# 连接池最大连接数量max-active:20# 获取连接时最大等待时间,单位毫秒max-wait:60000# 申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。test-while-idle:true# 既作为检测的间隔时间又作为testWhileIdel执行的依据time-between-eviction-runs-millis:60000# 销毁线程时检测当前连接的最后活动时间和当前时间差大于该值时,关闭当前连接(配置连接在池中的最小生存时间)min-evictable-idle-time-millis:30000# 用来检测数据库连接是否有效的sql 必须是一个查询语句(oracle中为 select 1 from dual)validation-query:select 1# 申请连接时会执行validationQuery检测连接是否有效,开启会降低性能,默认为truetest-on-borrow:false# 归还连接时会执行validationQuery检测连接是否有效,开启会降低性能,默认为truetest-on-return:false# 是否缓存preparedStatement, 也就是PSCache,PSCache对支持游标的数据库性能提升巨大,比如说oracle,在mysql下建议关闭。pool-prepared-statements:false# 要启用PSCache,必须配置大于0,当大于0时,poolPreparedStatements自动触发修改为true。在Druid中,不会存在Oracle下PSCache占用内存过多的问题,可以把这个数值配置大一些,比如说100max-pool-prepared-statement-per-connection-size:-1# 合并多个DruidDataSource的监控数据use-global-data-source-stat:true

实体类 User

packagecom.atguigu.pojo;importlombok.Data;@DatapublicclassUser{privateintempId;privateStringempName;privatedoubleempSalary;}

实体类 User 对应的 controller

packagecom.atguigu.controller;importcom.atguigu.pojo.User;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.jdbc.core.BeanPropertyRowMapper;importorg.springframework.jdbc.core.JdbcTemplate;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RestController;importjava.util.List;@RestController@RequestMapping("user")publicclassUserController{@AutowiredprivateJdbcTemplatejdbcTemplate;@GetMapping("findAll")publicList<User>findAll(){Stringsql="select * from t_emp";List<User>list=jdbcTemplate.query(sql,newBeanPropertyRowMapper<>(User.class));returnlist;}}

spboot 的启动程序

packagecom.atguigu;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublicclassMain{publicstaticvoidmain(String[]args){SpringApplication.run(Main.class,args);}}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 12:42:16

CSDN热门推荐:小白程序员轻松入门大模型,收藏必备实战指南!

引言&#xff1a;破局迷丝——为什么我们对AI的认知如此两极分化&#xff1f;在当今技术浪潮的尖端&#xff0c;人工智能(AI)无疑是最受关注的焦点&#xff08;从寒某纪1年10倍的GP就能看出来&#xff09;。然而&#xff0c;围绕它的讨论却呈现出一种极端的两极分化&#xff1a…

作者头像 李华
网站建设 2026/6/15 12:47:13

智联车位 精准寻车:基于 AR 的智慧停车车位检测与反向寻车系统设计与实现

引言 随着城市机动车保有量的激增,传统停车场普遍存在 “找位难、寻车难” 的痛点:车位状态无法实时感知导致空车位浪费,车主离场后反向寻车耗时平均超 15 分钟。本文设计的 “智慧停车:车位检测 + AR 反向寻车系统” 以 STM32+ESP32-CAM 为核心硬件架构,通过超声波模块实…

作者头像 李华
网站建设 2026/6/15 12:42:41

2026 B2B价值跃迁时代,中网、里斯、特劳特与企业共探增长新可能

在2026年B2B价值跃迁中&#xff0c;市场趋势、创新思维、营销策略和可持续发展将共同塑造企业的未来。随着数字化技术的不断进步&#xff0c;企业需要快速适应这一变化&#xff0c;通过持续创新来提升自身竞争力。跨界合作成为推动这一转型的重要因素&#xff0c;各领域的专家合…

作者头像 李华
网站建设 2026/6/15 12:43:10

(11-1)完整人形机器人的设计与实现案例(硬件设计、驱动接口和运动控制):背景介绍+项目介绍

本章内容聚焦于青龙人形机器人从硬件到运动控制的全链路设计与实现过程。在硬件层面&#xff0c;通过OpenLoong-Hardware项目构建了机器人整机硬件架构&#xff0c;涵盖了本体结构、传感器与执行器的选型、布局及集成方案&#xff0c;奠定硬件基础&#xff1b;底层驱动开发依托…

作者头像 李华