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/hy_oa?useUnicode=true&rewriteBatchedStatements=true
spring.datasource.username=hyoa
spring.datasource.password=123456789
# 等待連接池分配連接的最大時長(毫秒),超過這個時長還沒可用的連接則發生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));
    }

也成功

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章