springboot 数据库连接 多数据源配置

1、数据库配置文件yml文件,(有配置文件的),直接注入datasource,发现springboot2.0以上默认为hikara

spring.datasource.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://10.64.102.29/db?useUnicode=true&rewriteBatchedStatements=true
spring.datasource.username=xxxx
spring.datasource.password=xxxxx
# 等待连接池分配连接的最大时长(毫秒),超过这个时长还没可用的连接则发生SQLException, 默认:30秒
spring.datasource.hikari.connection-timeout=30000
# 连接的生命时长(毫秒),超时而且没被使用则被释放(retired),默认:30分钟 1800000ms
spring.datasource.hikari.max-lifetime=1800000
spring.datasource.hikari.minimum-idle=5
# 最大连接数
spring.datasource.hikari.maximum-pool-size=20
# 连接超时的最大时长(毫秒),超时则被释放(retired),默认:10分钟
spring.datasource.hikari.idle-timeout=600000
# 自动提交
spring.datasource.hikari.auto-commit=true
# 连接池名字
spring.datasource.hikari.pool-name=DateSourceHikariCP
spring.datasource.hikari.connection-test-query=SELECT 1
​
package com.tx;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.test.context.junit4.SpringRunner;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;

@RunWith(SpringRunner.class)
@SpringBootTest(classes = SdkApiApplication.class)
public class AppHikariTest {
            @Autowired
            private DataSource dataSource;
     @Autowired
      private JdbcTemplate jdbcTemplate;
            @Test
            public void test() throws SQLException {
                Connection data = dataSource.getConnection();
//                输出结果如下,数据源获取成功,说明SpringBoot2.1.7默认使用的是Hikari连接池**(SpringBoot2.0之前使用的是tomcat连接池)

                System.out.println("------" + data.getClass());

                System.out.println("------" + dataSource.getClass());

                data.close();
            }

}


​

 

输出结果:------class com.zaxxer.hikari.pool.HikariProxyConnection
------class com.zaxxer.hikari.HikariDataSource

 

2、测试二


    @Autowired
    private JdbcTemplate jdbcTemplate;

    @Test
    public void test2() throws SQLException {
        List<Map<String, Object>> list = jdbcTemplate.queryForList("SELECT * FROM employee");
        System.out.println("------" + list.get(0));
    }

也成功

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Spring Boot中配置JPA多数据源的方法如下: 1. 首先,在pom.xml文件中添加必要的依赖项,包括Spring Boot、JPA和数据库驱动程序。 2. 创建对应的数据源配置类,包括数据库连接信息、用户名、密码等。可以创建多个数据源配置类,每个数据源对应一个数据库。 3. 创建对应的JdbcTemplate实例,用于在代码中执行SQL语句。每个数据源都需要创建一个对应的JdbcTemplate对象。 4. 创建指定数据源的方法,用于在代码中动态切换数据源。可以使用@Primary注解指定默认的数据源。 5. 创建Jpa事务管理器,用于管理多个数据源的事务。每个数据源都需要创建一个对应的Jpa事务管理器。 6. 使用AOP的切面来切换数据源。可以使用@Before和@After注解来分别在方法执行前和执行后进行数据源的切换和恢复。 以上是配置JPA多数据源的一般步骤,根据具体需求和情况,可能还需要进行一些额外的配置和调整。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [SpringBoot-JPA多数据源](https://blog.csdn.net/zZZ251682553/article/details/125105388)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [springboot jpa 多数据源配置](https://blog.csdn.net/chenxing1990/article/details/122808525)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值