欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SpringBoot默认使用HikariDataSource数据源方式

程序员文章站 2022-04-22 17:34:25
目录springboot默认使用hikaridatasource数据源hikaridatasource默认配置springboot默认使用hikaridatasource数据源定义数据源:存储了所有建...

springboot默认使用hikaridatasource数据源

定义

数据源:存储了所有建立数据库连接的信息。通过提供正确的数据源名称,你可以找到相应的数据库连接。

数据源负责维持一个数据库连接池,当程序创建数据源实例时,系统会一次性的创建多个数据库连接,并把这些数据连接保存在连接池中。当程序需要进行数据库访问时,无须重新获得数据库连接,而是从连接池中取出一个空闲的数据库连接,当程序使用数据库连接访问结束后,无须关闭数据库连接,而是将数据库连接归还给连接池即可。通过这种方式可以避免频繁的获取数据库连接,关闭数据库连接所导致的性能下降。

全局配置文件application.yml中spring.datasource下只配置了账号,密码,数据库地址,连接驱动,因为默认使用的是hikaridatasource数据源。

如果是自定义数据源,可以使用

spring.datasource.type=com.zaxxer.hikari.hikaridatasource

测试:

@runwith(springrunner.class)
@springboottest
public class horseapplicationtests {
    /**
     * spring boot 默认已经配置好了数据源,程序员可以直接 di 注入然后使用即可
     */
    @resource
    datasource datasource;
    
    @test
    public void contextloads() throws sqlexception {
        system.out.println("数据源>>>>>>" + datasource.getclass());
    }

运行结果:

数据源>>>>>>class com.zaxxer.hikari.hikaridatasource

数据库连接

有了数据源,就可以拿到数据库连接,使用jdbctemplate 进行crud数据库,即使没有使用第三方数据库操作框架,如:mybatis,hibernate,等spring本身就可以对原生的jdbc做了轻量级的封装,即时jdbctemplate.

springboot不仅提供了默认的数据源,同时默认已经配置好了jdbctemplate放在容器中,程序员只需自己注入即可使用。

jdbctemplate的自动装配原理是依赖jdbctemplateautoconfiguration类。

hikaridatasource默认配置

com.zaxxer.hikari.hikariconfig
private static final long idle_timeout = minutes.tomillis(10);
private static final long max_lifetime = minutes.tomillis(30);
private static final int default_pool_size = 10;
private static boolean unittest = false;

// properties changeable at runtime through the hikariconfigmxbean
//
private volatile long connectiontimeout;
private volatile long validationtimeout;
private volatile long idletimeout;
private volatile long leakdetectionthreshold;
private volatile long maxlifetime;
private volatile int maxpoolsize;
private volatile int minidle;
private volatile string username;
private volatile string password;

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。