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