springboot2.x中使用hikariCP连接池

tech2024-12-27  12

在springboot2.x,默认采用的是hikari连接池,相比druid,hikari具有更高的性能。

springboot2.x中如何使用hikari连接池

1、pom.xml中配置

<!-- jdbc starter引入 -->     <dependency>       <groupId>org.springframework.boot</groupId>       <artifactId>spring-boot-starter-jdbc</artifactId>     </dependency>     <!-- jdbc mysql驱动 -->     <dependency>       <groupId>mysql</groupId>       <artifactId>mysql-connector-java</artifactId>     </dependency>

2、application.yml配置

spring: datasource: username: root password: 123456 url: jdbc:mysql://localhost:3306/rocketdemo?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8 hikari: minimum-idle: 5 #最小连接数 maximum-pool-size: 10 #池中最大连接数 connection-timeout: 20000 #连接超时时间 idle-timeout: 30000 # 空闲等待时间 ms auto-commit: true # max-lifetime: 1800000 #30分钟

注意, username、password、url 需要配置在spring.datasource节点下,而不是spring.datasource.hikari节点下 。

 

3、访问数据库测试代码

import com.tingcream.logdemo.order.Order; 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.BeanPropertyRowMapper; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowMapper; import org.springframework.test.context.junit4.SpringRunner; import java.util.List; @RunWith(SpringRunner.class) @SpringBootTest public class SpringTest { @Autowired private JdbcTemplate jdbcTemplate; @Test public void test1(){ Order order = findOrderById(1); System.out.println(order); } public Order findOrderById(long id){ String sql ="select * from t_order where id=?"; RowMapper<Order> rowMapper = new BeanPropertyRowMapper<>(Order.class); List<Order> list = jdbcTemplate.query(sql, rowMapper,new Object[] {id}); if(list!=null && list.size()>0) { return list.get(0); }else { return null; } } }

 

最新回复(0)