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日

相关文章

  • 群辉dsvideo(station)自动同步视频简介和海报

    群辉DS Video (Station)自动同步视频简介和海报的完整攻略 群辉DS Video (Station)是一款用于管理和播放视频的应用程序。在DS Video中,可以使用自动同步功能将视频简介和海报从TheDB或TheTVDB等在线数据库中自动获取。以下是使用自动同步功能同步视频简介和海报的完整攻略。 步骤1:启用自动同步功能 首先,需要启用自动同…

    other 2023年5月8日
    00
  • javascriptdom编程艺术

    JavaScript DOM编程艺术 什么是DOM? DOM( Document Object Model )是指文档对象模型,它是HTML和XML文档的一个对象表示,提供了一种结构化的方式来操作页面内容。在DOM树中,每个HTML元素都是一个节点,节点可以是元素节点、文本节点、属性节点等等。通过DOM API,我们可以对这些节点进行创建、删除、操作等操作。…

    其他 2023年3月29日
    00
  • 如何解决json中携带的反斜杠

    如何解决JSON中携带的反斜杠 在处理JSON数据的时候,我们常常会遇到携带反斜杠的字符串。这是因为在JSON中,某些特殊字符需要用反斜杠进行转义,比如双引号、单引号、斜杆、制表符等。而有时候,我们在处理JSON数据的时候,可能并不需要这些反斜杠,甚至会影响后续操作的进行。下面我们将介绍几种解决方法。 1. 使用JSON.parse方法 JavaScript…

    其他 2023年3月28日
    00
  • VUE中的无限循环代码解析

    VUE中的无限循环代码解析攻略 在Vue中,无限循环是指一个循环依赖或递归调用的情况,导致代码陷入无限循环的状态。这种情况通常是由于数据的不正确使用或组件之间的错误依赖关系引起的。本攻略将详细讲解如何解析和解决Vue中的无限循环问题,并提供两个示例说明。 1. 识别无限循环 要识别Vue中的无限循环,可以遵循以下步骤: 检查控制台错误:在浏览器的开发者工具中…

    other 2023年7月29日
    00
  • sql server——分组查询(方法和思想)

    以下是“SQL Server——分组查询(方法和思想)”的完整攻略,包括分组查询的概念、方法和示例说明。 分组查询的概念 分组查询是一种SQL查询语句,它将数据按照指定的列进行分组,并对每个分组进行聚合计算。分组查询通常用于统计和汇总数据,例如计算每个部门的销售总额、平均工资等。 分组查询的方法 以下是分组查询的方法: 使用GROUP BY子句:GROUP …

    other 2023年5月6日
    00
  • Springboot在有参构造方法类中使用@Value注解取值

    Spring Boot中使用@Value注解取值的完整攻略 在Spring Boot中,我们可以使用@Value注解来从配置文件中获取属性值,并将其注入到有参构造方法中。这样可以方便地将配置文件中的属性值传递给Spring Bean。 下面是使用@Value注解取值的完整攻略: 步骤1:添加依赖 首先,确保在项目的pom.xml文件中添加了Spring Bo…

    other 2023年8月6日
    00
  • openstack中的rpc远程调用的方法

    OpenStack中RPC远程调用的方法 RPC(Remote Procedure Call)是一种进程间通信机制,允许在不同的计算机上的进程之间进行调用。在OpenStack中,RPC用于在不同节点间的服务进程通讯,充当了OpenStack分发服务的核心。下面是RPC远程调用的方法。 1. RPC远程调用简介 RPC远程调用是通过消息传输的方式进行数据的交…

    other 2023年6月27日
    00
  • C语言实现无头单链表详解

    C语言实现无头单链表详解 什么是无头单链表? 单链表是一种非常常见的数据结构,它由一个个结点组成,每个结点包含两部分:数据部分和next指针部分。数据部分可以存放任何类型的数据,next指针则用于连接下一个结点。 而无头单链表与单链表类似,只是它没有头结点。头结点一般来说用于存放链表的长度、头指针等信息,而无头单链表只有一个指向第一个结点的指针,也就是没有这…

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