SpringBoot整合阿里 Druid 数据源的实例详解

SpringBoot整合阿里 Druid 数据源的实例详解

在SpringBoot项目中,我们经常会使用阿里的Druid数据源来管理我们的数据库连接。本文将详细讲解如何在SpringBoot项目中整合阿里Druid数据源。

步骤一:导入相关依赖

pom.xml文件中添加以下依赖:

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.2.6</version>
</dependency>
<dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
   <version>8.0.26</version>
</dependency>

步骤二:配置数据源

application.propertiesapplication.yml文件中配置数据源信息,例如:

spring:
  datasource:
    druid:
      url: jdbc:mysql://localhost:3306/test_db
      username: root
      password: 123456
      driver-class-name: com.mysql.cj.jdbc.Driver

步骤三:配置Druid监控

在SpringBoot中使用Druid,我们可以通过配置DruidStatViewServletDruidFilter来开启监控功能。

在SpringBoot中,我们可以使用@Bean注解来创建DruidStatViewServletDruidFilter

@Configuration
public class DruidConfig {
    @Bean
    public ServletRegistrationBean druidStatViewServlet() {
        // 设置Druid监控界面的访问路径
        ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(
                new StatViewServlet(), "/druid/*");

        // 设置IP白名单
        servletRegistrationBean.addInitParameter("allow", "127.0.0.1");

        // 设置IP黑名单
        servletRegistrationBean.addInitParameter("deny", "192.168.0.19");

        // 设置登录账号和密码
        servletRegistrationBean.addInitParameter("loginUsername", "admin");
        servletRegistrationBean.addInitParameter("loginPassword", "123456");

        // 是否允许重置数据
        servletRegistrationBean.addInitParameter("resetEnable", "false");

        return servletRegistrationBean;
    }

    @Bean
    public FilterRegistrationBean druidFilter() {
        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(
                new WebStatFilter());

        // 设置URL的筛选
        filterRegistrationBean.addUrlPatterns("/*");

        // 排除过滤的URL
        filterRegistrationBean.addInitParameter("exclusions",
                "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*");

        // 日志记录
        filterRegistrationBean
                .addInitParameter("profileEnable", "true");

        return filterRegistrationBean;
    }
}

示例一:使用JdbcTemplate进行操作

在项目中引入JdbcTemplate,并进行数据操作,例如:

@Autowired
JdbcTemplate jdbcTemplate;

public List<Object> getAllUsers() {
    return jdbcTemplate.queryForList("SELECT * FROM user");
}

示例二:使用MyBatis进行操作

在项目中引入MyBatis,并进行数据操作,例如:

@Mapper
public interface UserDao {
    @Select("SELECT * FROM user")
    List<User> getAllUsers();
}

以上就是SpringBoot整合阿里Druid数据源的详细攻略,希望对大家有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot整合阿里 Druid 数据源的实例详解 - Python技术站

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

相关文章

  • JSP中out对象的实例详解

    下面是本人为大家准备的详细讲解“JSP中out对象的实例详解”的攻略。 JSP中out对象的实例详解 1. out对象简介 在JSP页面中,out对象是一个内置对象,用于向客户端输出内容。 2. out对象的创建 当在JSP页面中使用语句 out.print(“hello, world”) 时,就会自动创建一个名为 “out” 的输出流对象。 3. out对…

    Java 2023年6月15日
    00
  • java字符串压缩解压示例

    Java字符串压缩和解压是比较常用的操作,可以减小字符串的体积,减少网络传输的时间和带宽占用。下面是这个过程的完整攻略: 1. 导入相关库 我们需要导入Java的压缩和解压相关库,包括java.util.zip.Deflater和java.util.zip.Inflater。使用方法如下: import java.util.zip.Deflater; imp…

    Java 2023年5月27日
    00
  • Java二维数组讲解

    Java二维数组讲解 什么是二维数组? Java中的二维数组是指由多个一维数组组成的数组。可以将其理解为一个表格,具有行和列两个维度。在Java中,二维数组是一种引用类型,需要通过new操作符进行初始化。 如何声明和初始化二维数组? 在Java中,可以使用如下方式声明和初始化二维数组: // 声明一个2 x 3的整型数组 int[][] arr = new …

    Java 2023年5月26日
    00
  • java实现Floyd算法

    Java实现Floyd算法 Floyd算法是解决图中最短路问题的一种经典算法,它可以求出图中任意两点之间的最短路径。下面我们将详细讲解如何使用Java实现Floyd算法。 算法思路 Floyd算法是一种动态规划算法,它通过逐步优化不同的路径来求取图中任意两点之间的最短路径。 我们可以用一个二维数组dis来存储图中任意两点之间的距离。具体地,dis[i][j]…

    Java 2023年5月18日
    00
  • 解决jmap命令打印JVM堆信息异常的问题

    以下是解决 “jmap命令打印JVM堆信息异常的问题” 的攻略: 问题描述 当我们使用 jmap 命令打印JVM堆信息时,可能会遇到如下异常: Error attaching to process: sun.jvm.hotspot.debugger.DebuggerException: Can’t attach to the process: ptrace(…

    Java 2023年5月27日
    00
  • Java编程环境搭建和变量基本使用图文教程

    Java编程环境搭建和变量基本使用 简介 Java是一种常见的编程语言,需要搭建相应的开发环境和掌握基本的语法知识,才能对其进行编程操作。本篇攻略将详细介绍Java编程环境搭建和变量基本使用,帮助初学者快速上手。 环境搭建 下载和安装Java JDK 首先,需要从Oracle官网下载相应的Java开发套件(JDK)。下载后,在电脑上安装即可。安装过程中需要注…

    Java 2023年5月26日
    00
  • Spring整合mybatis实现过程详解

    下面是“Spring整合mybatis实现过程详解”的完整攻略。 简介 Spring和MyBatis是两个非常流行的Java框架,常常被用来搭建底层的Web应用程序。其中,Spring作为一种IOC容器和AOP框架,可以管理Java中的对象,控制对象之间的依赖关系,以及提供统一的事务管理等功能;而MyBatis则是一种ORM框架,可以将Java对象映射到关系…

    Java 2023年5月19日
    00
  • Java 常量池详解之class文件常量池 和class运行时常量池

    Java 常量池详解之class文件常量池 和class运行时常量池 在Java中,常量池是指在编译阶段确定的一些数据,这些数据包括了代码中用到的字符串、数字等等。在程序运行的时候,这些常量会被加载到JVM的内存中进行使用。Java中的常量池主要包括class文件常量池和class运行时常量池两种。 class文件常量池 class文件常量池是指,编译期间生…

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