SpringBoot使用Druid数据源的配置方法

下面我将为大家详细讲解使用Spring Boot配置Druid数据源的方法。

1. 引入Druid和JDBC驱动

首先,我们需要在maven中引入druid和JDBC驱动的相关依赖,可以根据实际需求进行版本选择。在pom.xml文件中添加以下依赖:

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

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.22</version>
</dependency>

2. 在application.properties中配置Druid数据源

接下来,在Spring Boot的配置文件application.properties中配置Druid数据源,包括用户名、密码、url等信息。在配置文件中添加以下配置:

# DRUID 配置
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.username=root
spring.datasource.password=
spring.datasource.url=jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC

# Druid 监控配置
spring.datasource.druid.initial-size=5
spring.datasource.druid.min-idle=5
spring.datasource.druid.max-active=20
spring.datasource.druid.test-on-borrow=true
spring.datasource.druid.stat-view-servlet.allow=true
spring.datasource.druid.stat-view-servlet.login-username=admin
spring.datasource.druid.stat-view-servlet.login-password=123456
spring.datasource.druid.filter.stat.log-slow-sql=true
spring.datasource.druid.filter.stat.slow-sql-millis=2000

3. 在代码中使用Druid数据源

经过前两步的操作,我们已经成功地配置好了Druid数据源,接下来就可以在代码中使用了。具体的使用方法是,在需要使用的类中注入DataSource,并使用JDBC连接进行查询等操作。以下是使用JdbcTemplate进行查询的示例代码:

@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private JdbcTemplate jdbcTemplate;

    @Override
    public List<User> getUserList() {
        String sql = "SELECT * FROM user";
        List<User> userList = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(User.class));
        return userList;
    }
}

还可以通过DruidDataSource获取连接池信息等相关数据,以下是一个获取池状态信息的示例代码:

@Autowired
private DataSource dataSource;

public void printPoolStatus() {
    DruidDataSource druidDataSource = (DruidDataSource) dataSource;
    System.out.println("当前活跃连接数:" + druidDataSource.getActiveCount());
    System.out.println("当前连接数:" + druidDataSource.getPoolingCount());
    System.out.println("当前没有被任何线程使用的连接数:" + druidDataSource.getEmptyCount());
    System.out.println("当前等待获取连接的线程数:" + druidDataSource.getWaitThreadCount());
    System.out.println("当前连接最长使用时间(单位s):" + druidDataSource.getMaxEvictableIdleTimeMillis() / 1000);
}

以上就是使用Spring Boot配置Druid数据源的详细攻略,希望能够对大家有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot使用Druid数据源的配置方法 - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • Create vite理解Vite项目创建流程及代码实现

    Create Vite理解Vite项目创建流程及代码实现 Vite是一个快速的Web开发构建工具,本攻略将详细讲解如何使用Vite创建项目,并提供两个示例说明。 步骤1:安装Vite 首先,确保你已经安装了Node.js。然后,打开终端并运行以下命令来全局安装Vite: npm install -g create-vite 步骤2:创建Vite项目 在终端中…

    other 2023年10月13日
    00
  • vscode搜索所有文件夹中所有文件的方法

    以下是关于“VS Code搜索所有文件夹中所有文件的方法”的完整攻略,包括基本概念、步骤和两个示例。 基本概念 VS Code是一款流行的开源代码编辑器,支持多种编程语言和框架。在VS Code中,可以使用搜索功能查找所有文件夹中所有文件。 步骤 以下是在VS Code中搜索所有文件夹中所有文件的步骤: 打开VS Code:打开VS Code编辑器。 打开搜…

    other 2023年5月7日
    00
  • Android Adapter里面嵌套ListView实例详解

    Android Adapter里面嵌套ListView实例详解 在Android开发中,我们经常需要在一个列表项中嵌套另一个列表项。这种情况下,我们可以使用ListView来实现嵌套列表的效果。本攻略将详细讲解如何在Android Adapter中嵌套ListView,并提供两个示例说明。 示例1:嵌套ListView的布局 首先,我们需要创建一个布局文件来…

    other 2023年7月28日
    00
  • java实现中缀表达式转后缀的方法

    Java实现中缀表达式转后缀的方法 中缀表达式是我们常见的数学表达式形式,例如2 + 3 * 4。而后缀表达式(也称为逆波兰表达式)是一种将操作符放在操作数之后的表达式形式,例如2 3 4 * +。在计算机科学中,我们通常将中缀表达式转换为后缀表达式,以便更容易进行计算。 下面是一种使用Java实现中缀表达式转后缀表达式的方法: 步骤1:创建一个空的栈和一个…

    other 2023年8月6日
    00
  • javascriptmath.pow函数详解

    javascript math.pow函数详解 在Javascript中,Math对象提供了一些数学方法,其中之一就是pow()方法。这个方法可以用来计算一个数的幂。 语法 Math.pow(x, y) 其中,x是底数,y是指数。 返回值 Math.pow()方法返回 x 的 y 次幂。 示例 以下是Math.pow()方法的一些示例: Math.pow(2…

    其他 2023年3月29日
    00
  • 发现Linux中IP地址冲突的方法

    发现Linux中IP地址冲突的方法攻略 在Linux系统中,发现IP地址冲突是一个重要的任务,因为IP地址冲突可能导致网络连接问题和通信故障。下面是一份详细的攻略,介绍了如何在Linux中发现IP地址冲突的方法。 方法一:使用arping命令 打开终端,以root用户身份登录。 使用以下命令安装arping工具(如果尚未安装): sudo apt-get i…

    other 2023年7月30日
    00
  • Spark内存调优指南

    一、Spark内存调优指南 在使用Spark过程中,内存调优是一个必须考虑的问题。正确的内存配置不仅可以提高应用程序执行的效率,还能避免一些应用程序错误。本攻略将提供一些Spark内存调优的技巧和最佳实践。 二、优化指南 存储级别的优化 在处理大数据时,Spark可能会从磁盘读取大量的数据,并将其缓存到内存中,以便后续快速访问。数据的存储级别可以通过调用ca…

    other 2023年6月27日
    00
  • 详解C语言对字符串处理函数的实现方法

    详解C语言对字符串处理函数的实现方法 在C语言中,字符串常常用字符数组和指针表示。对于字符串的处理需要使用字符串处理函数。本文将详细讲解C语言对字符串处理函数的实现方法。 strlen函数 strlen函数用来返回一个字符串的长度,其具体实现方法如下: size_t strlen(const char * str) { size_t len = 0; whi…

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