1. 程式人生 > >springboot2 預設資料庫連線池HikariCP

springboot2 預設資料庫連線池HikariCP

1.Springboot2預設資料庫連線池選擇了HikariCP為何選擇HikariCP

    理由一、程式碼量

    理由二、口碑

    理由三、速度

    理由四、穩定性

    理由五、可靠性

2.druid對資料來源進行了監控,但是我們知道sharding-jdbc, mycat等都可以監控。

3.我們這裡給出一個例子看看怎麼使用以及速度如何

4.環境:jdk8,springboot 2.0.2release.

@RestController
@Slf4j
public class UserController {
	
	@Autowired
	private UserService UserService;
	
	@RequestMapping("/user/{id}")
	public User getById(@PathVariable Long id) {
		log.info("id={}",id);
		return UserService.getById(id);
	}
}
logging.level.root=info
logging.level.com.security=info
server.port=8080
spring.datasource.url=jdbc:mysql://localhost:3306/xxx
spring.datasource.username=xxx
spring.datasource.password=xxx
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

spring.datasource.hikari.minimum-idle=5
spring.datasource.hikari.maximum-pool-size=15
spring.datasource.hikari.connection-test-query=SELECT 1
spring.datasource.hikari.max-lifetime=1800000
spring.datasource.hikari.connection-timeout=30000
spring.datasource.hikari.pool-name=DatebookHikariCP

mybatis.type-aliases-package=com.security.model
mybatis.mapper-locations=classpath:/mybatis/*
<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.0.2.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
		</dependency>
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>1.3.1</version>
		</dependency>
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
		</dependency>	
	</dependencies>

執行結果:

 Located MBean 'dataSource': registering with JMX server as MBean [com.zaxxer.hikari:name=dataSource,type=HikariDataSource]