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));
}
也成功