数据源Hikarcp
高速的jdc连接池,springboot2.0默认使用Hikarcp数据源
Hikarcp与其他数据源相比较(比较的都是一些国外比较流行的数据源,druid数据源并没有相比较,具官方说druid数据源监控性能比较好,侧重点不一样):https://www.wix.engineering/post/how-does-hikaricp-compare-to-other-connection-pools
HikariCP连接池示例:https://examples.javacodegeeks.com/enterprise-java/hikaricp/hikaricp-connection-pooling-example/
github:https://github.com/brettwooldridge/HikariCP
1.依赖maven(jdk1.8)
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>3.4.5</version>
</dependency>
2.使用文档:https://github.com/brettwooldridge/HikariCP/wiki/Down-the-Rabbit-Hole
例如:
①:FastList
FastList代替ArrayList,它的速度比ArrayList快
②:ConcurrentBag(并发相关的自定义无锁的一个集合)
是从 C# .NET ConcurrentBag class,借鉴而来,做了一些优化
③:需要注意的三件事
3.整合到springboot中
引入数据源mysql和mybatis
①:导入maven
<!-- mysql 驱动-->
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.20</version>
</dependency>
<!--mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.3</version>
</dependency>
②:配置数据源
spring:
datasource: #数据源相关配置
type: com.zaxxer.hikari.HikariDataSource #数据源类型HikariCP
driver-class-name: com.mysql.cj.jdbc.Driver #mysql驱动
url: jdbc:mysql://122.152.207.115:3306/demo?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true
username: root
password: hwsk5203
hikari:
connection-timeout: 30000 #等待连接池分配连接的最大时长(毫秒),超过这个时长还没可用的连接则发生SQ
minimum-idle: 5 # 最小连接数
maximum-pool-size: 20 # 最大连接数
auto-commit: true # 自动提交
idle-timeout: 600000 #连接超时的最大时长(毫秒),超时则被释放(retired),默认:10分钟
pool-name: hikari-sso # 连接池名字
max-lifetime: 1800000 # 连接的生命时长(毫秒),超时而且没被使用则被释放(retired),默认:30分钟
connection-test-query: SELECT 1 #连接的测试语句
#connection-init-sql: SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci;
#jpa:
#show-sql: true
#generate-ddl: false
#properties:
#hibernate:
#ddl-auto: none
#format_sql: true
mybatis:
type-aliases-package: com.river.pojo # 所有POJO类所在包路径
mapper-locations: classpath:mapper/*.xml # mapper映射文件
然后就可以运行访问HelloWord了