【Spring Boot】Sping Boot 默认数据库连接连接池 hikari

在Sping Boot 2.0之后默认使用hikari数据库连接池,您或许不再一定要用druid、c3p0等连接池了

hikari的优势

在Spring Boot的官方文档中,其更推荐使用hikari数据库连接池,因其高效的性能和并发性。
【Spring Boot】Sping Boot 默认数据库连接连接池 hikari_第1张图片
在很多朋友的感受中,HiKariCP是数据库连接池的一个后起之秀,号称性能最好,可以完美地PK掉其他连接池,是一个高性能的JDBC连接池,基于BoneCP做了不少的改进和优化。其作者还有另外一个开源作品——高性能的JSON解析器HikariJSON。

使用

pom.xml



    
        org.springframework.boot
        spring-boot-starter-parent
        2.1.1.RELEASE
    
    4.0.0

    jdbc-springboot


    
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-test
        

        
            mysql
            mysql-connector-java
        

        
            org.springframework.boot
            spring-boot-starter-data-jdbc
        

    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    



application.yml

server:
  port: 8080
spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/mydemo?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
    username: root
    password: 12345
    driverClassName: com.mysql.jdbc.Driver
    hikari:
      minimum-idle: 5
      maximum-pool-size: 15
      auto-commit: true
      idle-timeout: 30000
      pool-name: DatebookHikariCP
      max-lifetime: 1800000
      connection-timeout: 10000
      connection-test-query: SELECT 1

使用

package top.yuyufeng.demo.action;

import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.Date;

/**
 * @author yuyufeng
 * @date 2018/12/24.
 */
@RestController
public class IndexController {

    @Resource
    private JdbcTemplate jdbcTemplate;

    @RequestMapping(value = "insertUser")
    Date insertUser(){
        String sql = "INSERT INTO `user_info` ( `user_name`, `age`, `create_time`) VALUES ( 'yy', '24', '2018-12-26 15:17:56')";
        jdbcTemplate.update(sql);
        return new Date();
    }
}

启动测试

package top.yuyufeng.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * @author yuyufeng
 * @date 2018/12/24.
 */
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

总结

其实在我们的调试中,我们就能感受到其启动速度之快。

参考文档

http://ju.outofmemory.cn/entry/353647

你可能感兴趣的:([Spring,Boot])