-
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>
近期热议
推荐标签 标签
-
PWL
1 引用 • 487 回帖 • 2 关注
组织简介
用爱发电 (Programming With Love) 是一个以开源精神为核心的民间开源爱好者技术组织,“用爱发电”象征开源与贡献精神,加入组织,代表你将遵守组织的“个人开源爱好者”的各项条款。申请加入:用爱发电组织邀请帖。
用爱发电组织官网:https://programmingwithlove.stackoverflow.wiki/用爱发电组织的核心驱动力:
- 遵守开源守则,体现开源&贡献精神:以分享为目的,拒绝非法牟利。
- 自我保护:使用适当的 License 保护自己的原创作品。
- 尊重他人:不以各种理由、各种漏洞进行未经允许的抄袭、散播、洩露;以礼相待,尊重所有对社区做出贡献的开发者;通过他人的分享习得知识,要留下足迹,表示感谢。
- 热爱编程、热爱学习:加入组织,热爱编程是首当其要的。我们欢迎热爱讨论、分享、提问的朋友,也同样欢迎默默成就的朋友。
- 倾听:正确并恳切对待、处理问题与建议,及时修复开源项目的 Bug ,及时与反馈者沟通。不抬杠、不无视、不辱骂。
- 平视:不诋毁、轻视、嘲讽其他开发者,主动提出建议、施以帮助,以和谐为本。只要他人肯努力,你也可能会被昔日小看的人所超越,所以请保持谦虚。
- 乐观且活跃:你的努力决定了你的高度。不要放弃,多年后回头俯瞰,才会发现自己已经成就往日所仰望的水平。积极地将项目开源,帮助他人学习、改进,自己也会获得相应的提升、成就与成就感。
-
Laravel
20 引用 • 23 回帖 • 726 关注
Laravel 是一套简洁、优雅的 PHP Web 开发框架。它采用 MVC 设计,是一款崇尚开发效率的全栈框架。
-
C
85 引用 • 165 回帖 • 3 关注
C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
-
OnlyOffice
4 引用 • 2 关注
-
Sandbox
410 引用 • 1246 回帖 • 587 关注
如果帖子标签含有 Sandbox ,则该帖子会被视为“测试帖”,主要用于测试社区功能,排查 bug 等,该标签下内容不定期进行清理。
-
GitBook
3 引用 • 8 回帖
GitBook 使您的团队可以轻松编写和维护高质量的文档。 分享知识,提高团队的工作效率,让用户满意。
-
FFmpeg
23 引用 • 32 回帖 • 1 关注
FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。
-
面试
325 引用 • 1395 回帖
面试造航母,上班拧螺丝。多面试,少加班。
-
Gitea
4 引用 • 16 回帖
Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证。
-
CloudFoundry
5 引用 • 18 回帖 • 173 关注
Cloud Foundry 是 VMware 推出的业界第一个开源 PaaS 云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。
-
WebSocket
48 引用 • 206 回帖 • 320 关注
WebSocket 是 HTML5 中定义的一种新协议,它实现了浏览器与服务器之间的全双工通信(full-duplex)。
-
Flutter
39 引用 • 92 回帖 • 9 关注
Flutter 是谷歌的移动 UI 框架,可以快速在 iOS 和 Android 上构建高质量的原生用户界面。 Flutter 可以与现有的代码一起工作,它正在被越来越多的开发者和组织使用,并且 Flutter 是完全免费、开源的。
-
宕机
13 引用 • 82 回帖 • 60 关注
宕机,多指一些网站、游戏、网络应用等服务器一种区别于正常运行的状态,也叫“Down 机”、“当机”或“死机”。宕机状态不仅仅是指服务器“挂掉了”、“死机了”状态,也包括服务器假死、停用、关闭等一些原因而导致出现的不能够正常运行的状态。
-
旅游
93 引用 • 899 回帖 • 1 关注
希望你我能在旅途中找到人生的下一站。
-
SQLServer
21 引用 • 31 回帖 • 1 关注
SQL Server 是由 [微软] 开发和推广的关系数据库管理系统(DBMS),它最初是由 微软、Sybase 和 Ashton-Tate 三家公司共同开发的,并于 1988 年推出了第一个 OS/2 版本。
-
Facebook
4 引用 • 15 回帖 • 439 关注
Facebook 是一个联系朋友的社交工具。大家可以通过它和朋友、同事、同学以及周围的人保持互动交流,分享无限上传的图片,发布链接和视频,更可以增进对朋友的了解。
-
C++
107 引用 • 153 回帖 • 2 关注
C++ 是在 C 语言的基础上开发的一种通用编程语言,应用广泛。C++ 支持多种编程范式,面向对象编程、泛型编程和过程化编程。
-
JetBrains
18 引用 • 54 回帖 • 2 关注
JetBrains 是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA。
-
Thymeleaf
11 引用 • 19 回帖 • 365 关注
Thymeleaf 是一款用于渲染 XML/XHTML/HTML5 内容的模板引擎。类似 Velocity、 FreeMarker 等,它也可以轻易的与 Spring 等 Web 框架进行集成作为 Web 应用的模板引擎。与其它模板引擎相比,Thymeleaf 最大的特点是能够直接在浏览器中打开并正确显示模板页面,而不需要启动整个 Web 应用。
-
Firefox
8 引用 • 30 回帖 • 410 关注
Mozilla Firefox 中文俗称“火狐”(正式缩写为 Fx 或 fx,非正式缩写为 FF),是一个开源的网页浏览器,使用 Gecko 排版引擎,支持多种操作系统,如 Windows、OSX 及 Linux 等。
-
flomo
5 引用 • 107 回帖
flomo 是新一代 「卡片笔记」 ,专注在碎片化时代,促进你的记录,帮你积累更多知识资产。
-
设计模式
200 引用 • 120 回帖
设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。
-
代码片段
91 引用 • 577 回帖
代码片段分为 CSS 与 JS 两种代码,添加在 [设置 - 外观 - 代码片段] 中,这些代码会在思源笔记加载时自动执行,用于改善笔记的样式或功能。
用户在该标签下分享代码片段时需在帖子标题前添加
[css]
或[js]
用于区分代码片段类型。 -
TensorFlow
20 引用 • 19 回帖
TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。
-
Electron
15 引用 • 136 回帖
Electron 基于 Chromium 和 Node.js,让你可以使用 HTML、CSS 和 JavaScript 构建应用。它是一个由 GitHub 及众多贡献者组成的活跃社区共同维护的开源项目,兼容 Mac、Windows 和 Linux,它构建的应用可在这三个操作系统上面运行。
-
倾城之链
23 引用 • 66 回帖 • 138 关注
-
CSDN
14 引用 • 155 回帖
CSDN (Chinese Software Developer Network) 创立于 1999 年,是中国的 IT 社区和服务平台,为中国的软件开发者和 IT 从业者提供知识传播、职业发展、软件开发等全生命周期服务,满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性需求。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于