-
Hikari(在日语中意思是:光)
Fast, simple, reliable. HikariCP is a "zero-overhead" production ready JDBC connection pool. At roughly 90Kb, the library is very light.
快速,简单,可靠。 HikariCP 是一个零开销的 JDBC 连接池作品,它是非常轻的,大概只有 90kb。详细地址 Simple-bin{O(∩_∩)O 哈哈,我 Fork 到我的 Git 了}。下面性能的测试图:
-
使用 HikariCP
要求:Java7 或者更高版本,slf4j 类库。
package com.cyb.test;
import java.sql.Connection;
import java.sql.SQLException;import com.zaxxer.hikari.HikariConfig; import com.zaxxer.hikari.HikariDataSource; /** * 第一个HikariCP演示例子 * @author Cheng * */ public class FirstHikariCPDemo { //连接池 private HikariDataSource dataSource; /** * * @param className * @param url * @param username * @param password */ public void init(String className,String url,String username,String password){ //连接池配置信息 HikariConfig config = new HikariConfig(); config.setDriverClassName(className); config.setJdbcUrl(url); config.setUsername(username); config.setPassword(password); config.addDataSourceProperty("cachePrepStmts", "true"); config.addDataSourceProperty("prepStmtCacheSize", "250"); config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048"); //链接池初始化 setDataSource(new HikariDataSource(config)); } //获取链接 public Connection getConnection(){ Connection con = null; try { con = getDataSource().getConnection(); } catch (SQLException e) { e.printStackTrace(); } return con; } //关闭连接池 public void close(){ getDataSource().close(); } public HikariDataSource getDataSource() { return dataSource; } public void setDataSource(HikariDataSource dataSource) { this.dataSource = dataSource; } public static void main(String[] args)throws Exception { FirstHikariCPDemo demo = new FirstHikariCPDemo(); demo.init("com.mysql.jdbc.Driver", "jdbc:mysql://localhost:3306/mango_example", "root", "root"); System.out.println(demo.getConnection().getCatalog()); } }
如果不使用 HikariConfig,可以直接 new 一个 HikariDataSource 实例,如下所示:
HikariDataSource ds = new HikariDataSource(); ds.setJdbcUrl("jdbc:mysql://localhost:3306/simpsons"); ds.setUsername("bart"); ds.setPassword("51mp50n");
或者基于 config.properties 文件如下:
HikariConfig config = new HikariConfig("config.properties"); HikariDataSource ds = new HikariDataSource(config);
config.properties 文件的内容如下:
dataSourceClassName=com.mysql.jdbc.Driver dataSource.user=root dataSource.password=root dataSource.databaseName=mango_example dataSource.portNumber=3306 dataSource.serverName=localhost
也可以基于 java.util.Properties 进行配置
Properties props = new Properties(); props.setProperty("dataSourceClassName", "com.mysql.jdbc.Driver"); props.setProperty("dataSource.user", "root"); props.setProperty("dataSource.password", "root"); props.setProperty("dataSource.databaseName", "mango_example"); props.put("dataSource.logWriter", new PrintWriter(System.out)); HikariConfig config = new HikariConfig(props); HikariDataSource ds = new HikariDataSource(config);
-
spring 配置
<bean id="dataSourceHikari" class="com.zaxxer.hikari.HikariDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/mango_example?useUnicode=true&characterEncoding=UTF-8"/> <property name="username" value="root"/> <property name="password" value="root"/> <!-- 控制自动提交行为 default:true --> <property name="autoCommit" value="true"/> <!--连接池获取的连接是否只读 default:false--> <property name="readOnly" value="false"/> <!--控制连接的事务隔离等级 default:none--> <property name="transactionIsolation" value="none"/> <!--设置catalog以便于支持查看catalogs > <property name="catalog" value="none"/> <!--最大连接超时时间> <property name="connectionTimeout" value="30000"/> <!--最大空闲超时时间 --> <property name="idleTimeout" value="600000"/> <!--连接池中一个连接的最大生命周期 > <property name="maxLifetime" value="1800000 "/> </bean>
-
Maven 中引入
Java 7 和 Java 8<dependency> <groupId>com.zaxxergroupId> <artifactId>HikariCPartifactId> <version>2.4.7version> </dependency>
Java 6
<dependency> <groupId>com.zaxxergroupId> <artifactId>HikariCP-java6artifactId> <version>2.3.13version> </dependency>
近期热议
推荐标签 标签
-
服务
41 引用 • 24 回帖 • 2 关注
提供一个服务绝不仅仅是简单的把硬件和软件累加在一起,它包括了服务的可靠性、服务的标准化、以及对服务的监控、维护、技术支持等。
-
Ngui
7 引用 • 9 回帖 • 407 关注
Ngui 是一个 GUI 的排版显示引擎和跨平台的 GUI 应用程序开发框架,基于
Node.js / OpenGL。目标是在此基础上开发 GUI 应用程序可拥有开发 WEB 应用般简单与速度同时兼顾 Native 应用程序的性能与体验。 -
uTools
7 引用 • 28 回帖
uTools 是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合。
-
以太坊
34 引用 • 367 回帖
以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约、开源的底层系统。以太坊是一个平台和一种编程语言 Solidity,使开发人员能够建立和发布下一代去中心化应用。 以太坊可以用来编程、分散、担保和交易任何事物:投票、域名、金融交易所、众筹、公司管理、合同和知识产权等等。
-
Sphinx
1 引用 • 223 关注
Sphinx 是一个基于 SQL 的全文检索引擎,可以结合 MySQL、PostgreSQL 做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。
-
RESTful
30 引用 • 114 回帖 • 6 关注
一种软件架构设计风格而不是标准,提供了一组设计原则和约束条件,主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
-
反馈
120 引用 • 906 回帖 • 279 关注
Communication channel for makers and users.
-
HTML
108 引用 • 295 回帖 • 1 关注
HTML5 是 HTML 下一个的主要修订版本,现在仍处于发展阶段。广义论及 HTML5 时,实际指的是包括 HTML、CSS 和 JavaScript 在内的一套技术组合。
-
CloudFoundry
4 引用 • 16 回帖 • 197 关注
Cloud Foundry 是 VMware 推出的业界第一个开源 PaaS 云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。
-
学习
172 引用 • 541 回帖
“梦想从学习开始,事业从实践起步” —— 习近平
-
Netty
49 引用 • 33 回帖 • 43 关注
Netty 是一个基于 NIO 的客户端-服务器编程框架,使用 Netty 可以让你快速、简单地开发出一个可维护、高性能的网络应用,例如实现了某种协议的客户、服务端应用。
-
Git
211 引用 • 358 回帖 • 2 关注
Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
-
Jenkins
54 引用 • 37 回帖 • 2 关注
Jenkins 是一套开源的持续集成工具。它提供了非常丰富的插件,让构建、部署、自动化集成项目变得简单易用。
-
Node.js
139 引用 • 269 回帖
Node.js 是一个基于 Chrome JavaScript 运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞 I/O 模型而得以轻量和高效。
-
GitLab
46 引用 • 72 回帖 • 1 关注
GitLab 是利用 Ruby 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面操作公开或私有项目。
-
持续集成
15 引用 • 7 回帖
持续集成(Continuous Integration)是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。
-
Notion
10 引用 • 77 回帖
Notion - The all-in-one workspace for your notes, tasks, wikis, and databases.
-
wolai
2 引用 • 14 回帖
我来 wolai:不仅仅是未来的云端笔记!
-
Maven
188 引用 • 319 回帖 • 239 关注
Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。
-
IDEA
181 引用 • 400 回帖
IDEA 全称 IntelliJ IDEA,是一款 Java 语言开发的集成环境,在业界被公认为最好的 Java 开发工具之一。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。
-
招聘
188 引用 • 1057 回帖
哪里都缺人,哪里都不缺人。
-
新人
52 引用 • 228 回帖 • 1 关注
让我们欢迎这对新人。哦,不好意思说错了,让我们欢迎这位新人!
新手上路,请谨慎驾驶! -
微服务
96 引用 • 155 回帖
微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。
-
CongSec
1 引用 • 1 回帖 • 39 关注
本标签主要用于分享网络空间安全专业的学习笔记
-
ngrok
7 引用 • 63 回帖 • 657 关注
ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。
-
V2Ray
1 引用 • 15 回帖 • 4 关注
-
PHP
167 引用 • 408 回帖 • 484 关注
PHP(Hypertext Preprocessor)是一种开源脚本语言。语法吸收了 C 语言、 Java 和 Perl 的特点,主要适用于 Web 开发领域,据说是世界上最好的编程语言。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于