Spring Cloud (15) | Spring Boot、HikariCP、Mybatis和MySQL 配置HikariCP数据库连接池

来源:互联网 发布:阿里云股票数据接口 编辑:程序博客网 时间:2024/06/07 04:06

HiKariCP数据库连接池号称目前是最快的, HikariCP VS druid VS c3p0 VS dbcp VS jdbc 数据库连接池性能比对

  1. 性能方面 hikariCP>druid>tomcat-jdbc>dbcp>c3p0,hikariCP的高性能得益于最大限度的避免锁竞争。

  2. druid功能最为全面,sql拦截等功能,统计数据较为全面,具有良好的扩展性。

  3. 综合性能,扩展性等方面,可考虑使用druid或者hikariCP连接池。

  4. 可开启prepareStatement缓存,对性能会有大概20%的提升

    参考文章:http://blog.csdn.net/superdangbo/article/details/78734181

现在来用Spring Cloud 配置HikariCP数据库连接池:
第一步,在pom.xml文件中引入HikariCP的jar包,并排除spring boot自带的tomcat jdbc的jar包,如下:

    <dependency>            <groupId>org.mybatis.spring.boot</groupId>            <artifactId>mybatis-spring-boot-starter</artifactId>            <version>1.3.1</version>            <!-- 排除tomcat jdbc -->            <exclusions>                <exclusion>                    <groupId>org.apache.tomcat</groupId>                    <artifactId>tomcat-jdbc</artifactId>                </exclusion>            </exclusions>        </dependency><dependency>            <groupId>com.zaxxer</groupId>            <artifactId>HikariCP</artifactId>            <version>2.7.4</version>        </dependency>        <dependency>            <groupId>mysql</groupId>            <artifactId>mysql-connector-java</artifactId>            <version>5.1.39</version>        </dependency>

第二步,在HiKariCP数据库连接池配置如下:

@Bean(destroyMethod = "close")public DataSource dataSource(){    HikariConfig hikariConfig = new HikariConfig();    hikariConfig.setDriverClassName("com.mysql.jdbc.Driver");    hikariConfig.setJdbcUrl("jdbc:mysql://localhost:3306/spring-test");     hikariConfig.setUsername("root");    hikariConfig.setPassword("admin");    hikariConfig.setMaximumPoolSize(5);    hikariConfig.setConnectionTestQuery("SELECT 1");    hikariConfig.setPoolName("springHikariCP");    hikariConfig.addDataSourceProperty("dataSource.cachePrepStmts", "true");    hikariConfig.addDataSourceProperty("dataSource.prepStmtCacheSize", "250");    hikariConfig.addDataSourceProperty("dataSource.prepStmtCacheSqlLimit", "2048");    hikariConfig.addDataSourceProperty("dataSource.useServerPrepStmts", "true");    HikariDataSource dataSource = new HikariDataSource(hikariConfig);    return dataSource;}

参照:https://stackoverflow.com/questions/23172643/how-to-set-up-datasource-with-spring-for-hikaricp

https://github.com/brettwooldridge/HikariCP

这里写图片描述

原创粉丝点击