如何在SpringBoot 中使用 Druid 数据库连接池

使用 Druid 数据库连接池可以有效地提高数据库连接的稳定性和性能,下面是使用 Druid 数据库连接池的详细步骤和示例。

准备工作

在使用 Druid 数据库连接池之前,需要先添加相关的依赖。

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.1.22</version>
</dependency>

添加配置

在 Spring Boot 应用配置文件中添加以下配置,注意需要修改自己的数据库连接信息。

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/test?useSSL=false&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource
    initial-size: 5
    min-idle: 5
    max-active: 20
    max-wait: 60000
    test-on-borrow: true
    test-on-return: false
    test-while-idle: true
    time-between-eviction-runs-millis: 60000
    min-evictable-idle-time-millis: 300000
    validation-query: SELECT 1 FROM DUAL
    validation-query-timeout: 3000
    use-global-data-source-stat: true
    filters: stat,wall

说明:

  • urlusernamepassword 配置数据库连接信息。
  • driver-class-name 填写数据库驱动的包名。
  • type 配置使用的数据源类型为 Druid 数据库连接池。
  • initial-sizemin-idlemax-activemax-wait 配置连接池的初始大小、最小空闲连接数、最大连接数和最大等待时间。
  • test-on-borrowtest-on-returntest-while-idle 配置连接池的运行时状态检测项。
  • time-between-eviction-runs-millismin-evictable-idle-time-millis 配置连接池的空闲连接检测项。
  • validation-queryvalidation-query-timeout 配置连接验证查询和超时时间。
  • use-global-data-source-stat 配置使用全局统计信息。

使用连接池

在 Spring Boot 中使用连接池非常简单,只需要在需要使用数据库连接的 @Service 或者 @Repository 类中注入 DataSource 对象,即可从连接池中获取连接,然后进行数据库操作。

以下示例是根据上述配置文件,在 Spring Boot 中使用 Druid 数据库连接池的简单示例。

@Service
public class MyService {

    @Autowired
    private DataSource dataSource;

    public void query() throws SQLException {
        Connection conn = dataSource.getConnection();
        String sql = "SELECT * FROM user";
        PreparedStatement ps = conn.prepareStatement(sql);
        ResultSet rs = ps.executeQuery();
        // 处理结果集
        rs.close();
        ps.close();
        conn.close();
    }

}

以上示例中,通过 @Autowired 注解将 DataSource 对象注入到了 MyService 中,然后在 query() 方法中使用连接池获取数据库连接,并执行查询操作。最后再关闭结果集、语句和连接对象,释放资源。

另外,也可以使用 JdbcTemplate 简化数据库操作,以下是使用 JdbcTemplate 的示例:

@Service
public class MyService {

    @Autowired
    private JdbcTemplate jdbcTemplate;

    public void query() throws SQLException {
        String sql = "SELECT * FROM user";
        List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);
        // 处理结果集
    }

}

以上示例中,我们通过 @Autowired 注解注入了 JdbcTemplate 对象,然后直接使用 queryForList() 方法进行查询操作,得到结果集后再进行处理。

综上所述,以上是在 Spring Boot 中使用 Druid 数据库连接池的详细攻略,希望可以帮助到大家。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何在SpringBoot 中使用 Druid 数据库连接池 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • java 利用HttpClient PostMethod提交json数据操作

    下面是详细讲解Java利用HttpClient PostMethod提交JSON数据操作的完整攻略: 1. 导入HttpClient依赖 首先需要在项目中使用HttpClient库,可以使用Maven等方式导入依赖,例如: <dependency> <groupId>org.apache.httpcomponents</grou…

    Java 2023年5月26日
    00
  • 通过大白话理解微信小程序的授权登录

    下面详细讲解一下“通过大白话理解微信小程序的授权登录”的完整攻略。 什么是微信小程序的授权登录? 微信小程序的授权登录是指通过用户点击同意按钮,将微信用户的个人信息授权给小程序,从而实现小程序与微信用户的关联。通常在小程序的中会出现授权登录的弹窗,询问用户是否授权登录,如果用户同意,小程序就能够获取到用户的微信个人信息。 微信小程序的授权登录步骤 微信小程序…

    Java 2023年5月23日
    00
  • springboot命令行启动的方法详解

    Spring Boot命令行启动的方法详解 Spring Boot是一个简化的框架,使得Spring应用程序的创建和开发变得更加容易。接下来我会详细讲解如何使用Spring Boot命令行启动一个应用程序。 1. 配置环境 在开始之前,需要确保已经安装了JDK和Maven,并且已经配置好了环境变量。可以通过java -version和mvn -version…

    Java 2023年5月26日
    00
  • Spring整合SpringMVC + Mybatis基础框架的配置文件详解

    Spring整合SpringMVC + Mybatis基础框架的配置文件详解 Spring整合SpringMVC和Mybatis是一种常用的Java Web开发框架组合,它们分别负责业务逻辑、Web层和数据访问层。本文将介绍如何使用这三个框架构建基础框架,并详细讲解配置文件的设置。 环境搭建 在开始之前,我们需要先搭建好开发环境。以下是环境搭建的步骤: 安装…

    Java 2023年5月17日
    00
  • 实战讲解Maven安装及基本使用详解

    实战讲解Maven安装及基本使用详解 什么是Maven Maven是一款管理Java项目构建、依赖管理、自动化构建、发布管理的工具,同时也是一个强大的项目管理工具。通过Maven,我们可以明确项目的开发流程,控制项目的质量和构建过程。使用Maven可以大大提高Java项目的开发效率,并且可以帮助我们更好地管理项目所依赖的库。 Maven的安装步骤 下载Mav…

    Java 2023年5月20日
    00
  • Spring Boot + Jpa(Hibernate) 架构基本配置详解

    我将为您详细讲解“Spring Boot + Jpa(Hibernate) 架构基本配置详解”的完整攻略。 一、前置条件 在进行Spring Boot + Jpa(Hibernate) 架构的搭建之前,确保您已经安装好了Java和Maven,且熟悉了Spring Boot框架的基本概念和使用方法。 二、添加依赖 1.添加Spring Boot和Jpa(Hib…

    Java 2023年5月19日
    00
  • Java线程状态及切换、关闭线程的正确姿势分享

    以下是关于Java线程状态及切换、关闭线程的完整攻略。 Java线程状态 Java线程有以下几种状态: NEW(新建):线程刚被创建,但是还未开始执行。 RUNNABLE(运行):线程正在执行或等待CPU资源分配。 BLOCKED(阻塞):线程等待获取锁以进入同步区域时被阻塞。 WAITING(等待):线程等待其他线程执行特定操作通知它继续执行。 TIMED…

    Java 2023年5月18日
    00
  • Mybatis实现数据的增删改查实例(CRUD)

    下面是详细的”Mybatis实现数据的增删改查实例(CRUD)”攻略: 前置知识 在使用Mybatis进行CRUD操作之前,需要先了解以下知识点: Mybatis的基本使用方法和配置 数据库的基本操作,包括增删改查 数据库准备 首先,我们需要在数据库中创建一个表,用于存储我们的数据。假设我们创建了一个名为”users”的表,表结构如下: CREATE TAB…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部