springboot 配置DRUID数据源的方法实例分析

SpringBoot配置Druid数据源的方法实例分析

在SpringBoot中,我们可以使用Druid数据源连接数据库,本文将详细讲解如何在SpringBoot中配置Druid数据源的方法。

引入Druid依赖

在pom.xml文件中,添加Druid依赖:

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

application.properties配置

在application.properties中添加如下配置项:

# 数据源配置
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=root

# Druid数据源配置
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.filters=stat,wall,logback
spring.datasource.validation-query=SELECT 'x'
spring.datasource.maxActive=20
spring.datasource.initialSize=5
spring.datasource.minIdle=5
spring.datasource.maxWait=60000
spring.datasource.timeBetweenEvictionRunsMillis=60000
spring.datasource.minEvictableIdleTimeMillis=300000
spring.datasource.poolPreparedStatements=true
spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000

示例1:使用JdbcTemplate连接数据库

在代码中,我们可以通过JdbcTemplate来连接Druid数据源。

@Configuration
public class DataSourceConfig {

    @Bean(name = "dataSource")
    @ConfigurationProperties(prefix = "spring.datasource")
    public DataSource dataSource() {
        return DruidDataSourceBuilder.create().build();
    }

    @Bean(name = "jdbcTemplate")
    public JdbcTemplate jdbcTemplate(@Qualifier("dataSource") DataSource dataSource) {
        return new JdbcTemplate(dataSource);
    }

}

注:需要使用@Configuration和@Bean注解将DruidDataSource加入到Spring中。

示例2:在MyBatis中使用Druid数据源

在MyBatis中使用Druid数据源,需要配置SqlSessionFactory和TransactionManager。

@Configuration
@MapperScan("com.example.demo.mapper")
public class DataSourceConfig {

    @Bean(name = "dataSource")
    @ConfigurationProperties(prefix = "spring.datasource")
    public DataSource dataSource() {
        return DruidDataSourceBuilder.create().build();
    }

    @Bean(name = "sqlSessionFactory")
    public SqlSessionFactory sqlSessionFactory(@Qualifier("dataSource") DataSource dataSource)
            throws Exception {
        SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
        sessionFactory.setDataSource(dataSource);
        return sessionFactory.getObject();
    }

    @Bean(name = "transactionManager")
    public DataSourceTransactionManager transactionManager(@Qualifier("dataSource") DataSource dataSource) {
        return new DataSourceTransactionManager(dataSource);
    }
}

注:需要使用@Configuration和@Bean注解将DruidDataSource相关的实例加入到Spring中,并使用@MapperScan注解指定Mapper接口所在的包。

至此,我们在SpringBoot中成功配置了Druid数据源。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springboot 配置DRUID数据源的方法实例分析 - Python技术站

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

相关文章

  • 基于JSP的RSS阅读器的设计与实现方法(推荐)

    基于JSP的RSS阅读器的设计与实现方法 简介 本篇攻略介绍如何使用JSP语言开发一个简单的RSS阅读器。RSS是一种将网站内容以XML格式传递的标准格式。通过使用本篇攻略中的技术,您将能够构建一个具有基本功能的RSS阅读器,包括展示RSS源,获取RSS源更新等功能。 准备工作 在开始之前,我们需要进行一些准备工作: 确保您已经安装了Java和Apache …

    Java 2023年6月15日
    00
  • springMVC拦截器HandlerInterceptor用法代码示例

    下面详细讲解一下“springMVC拦截器HandlerInterceptor用法代码示例”的完整攻略。 什么是HandlerInterceptor? HandlerInterceptor是Spring MVC框架的拦截器,用于在controller处理请求之前和之后进行一些额外的处理。HandlerInterceptor是一个接口,需要自定义实现它,并将其…

    Java 2023年5月31日
    00
  • Java StringBuilder类相关知识总结

    下面是关于Java StringBuilder类的详细讲解攻略。 字符串拼接的问题 在Java中,字符串拼接可以使用+号或者字符串连接方法concat()来实现,示例如下: String str1 = "Hello"; String str2 = "World"; String str3 = str1 + "…

    Java 2023年5月27日
    00
  • Mybatis自动创建表和更新表结构

    下面给您详细讲解Mybatis自动创建表和更新表结构的完整攻略。 什么是Mybatis Mybatis是一种基于Java语言的开源持久化框架,它的主要功能是将Java对象映射到关系型数据库。 Mybatis自动创建表和更新表结构的配置方法 配置实体类 首先我们需要在实体类中添加注解,用来指定表名、字段名和主键。 下面是一个示例: public class U…

    Java 2023年5月20日
    00
  • JAVA实现空间索引编码——GeoHash的示例

    想要详细讲解“JAVA实现空间索引编码——GeoHash的示例”的完整攻略,可以按照以下步骤进行: 1. 了解GeoHash GeoHash是一种基于经纬度坐标存储和索引的编码方式,将二维的经纬度坐标转换为字符串形式进行存储,以达到快速空间索引的目的。在GeoHash编码中,每个字符对应的是一段矩形区域,在进行空间查询的时候,只需要将查询范围转化为对应的Ge…

    Java 2023年5月20日
    00
  • Java反转数组输出实例代码

    下面就是Java反转数组输出的完整攻略。 1. 题目描述 编写一个Java程序,将一个整型数组进行反转,输出反转后的数组。 2. 思路分析 反转数组的思路就是从数组两端向中间交换元素,直到中间位置停止。可以使用一个循环,循环次数为数组长度的一半,同时在每次循环中交换左右两个位置的元素即可。 3. 实现代码 下面是实现Java反转数组输出的示例代码: impo…

    Java 2023年5月26日
    00
  • 使用Spring boot标记一个方法过时

    使用Spring Boot标记一个方法过时,可以通过@Deprecated注解来实现。@Deprecated注解用于标记某个类、属性或方法已过时或不推荐使用,并提示使用者使用新的替代方案来代替。 下面是使用Spring Boot标记方法过时的示例: 示例一: @Deprecated public void oldMethod() { // 这个方法已过时,不…

    Java 2023年5月19日
    00
  • 老生常谈java中的数组初始化

    下面是关于Java中数组初始化的完整攻略: 数组的定义与声明 在Java中,数组需要先定义后使用。数组的定义语法如下: type[] arrayName; 其中,type 表示数组中元素的数据类型,大括号 [] 表示数组类型,arrayName 是数组的变量名。例如,定义一个整型数组变量的代码如下: int[] nums; 定义好数组变量之后,需要声明数组的…

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