Spring中HikariDataSource与JdbcTemplate的区别

发布时间:2021-09-14 14:14:05 作者:柒染
来源:亿速云 阅读:204

这篇文章给大家介绍Spring中HikariDataSource与JdbcTemplate的区别,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

数据源与连接池的理解

数据源:指数据的来源,比如mysql、postgresql数据库等。
连接池:它是一个池子,池子中存放多个线程(称之为"connection"),用户想连接数据源的时候,就会从池子中取一个"connection",用户使用完了这个"connection"之后,便会释放这个"connection","connection"重新回到池子中,供其它用户使用。
如果没有连接池,那么用户每次操作数据库的时候都会创建一个connection,如果并发数很大(假设10w),频繁的创建连接非常占用cpu与内存资源,同时会造成数据库连接过多报错(数据库的连接数是有限的)。
有连接池的时候,假设连接池的最大连接数是200,现在程序有10w个并发操作,这个时候10w个并发就会排队使用这200个连接来执行sql。这样连接池和数据库的连接限制在200以内,不会造成数据库连接过多错误。

HikariDataSource

HikariConfig hikariConfig = new HikariConfig();
hikariConfig.setDriverClassName();
hikariConfig.setJdbcUrl();
hikariConfig.setUsername();
hikariConfig.setPassword();
HikariDataSource hikariDataSource = new HikariDataSource(hikariConfig);
boolean close = hikariDataSource.getConnction().isClosed();

JdbcTemplate

它是spring对原始jdbc封装后提供的一个操作数据库的工具类。我们可以利用它来完成数据库的增删改查操作。

手动连接数据源流程

1>前端传连接名、数据库服务器ip、端口、用户名、密码、数据库类型等参数。
2>后端去连接数据库,成功后保存连接名信息到数据库。缓存记录id与数据源的关系。
3>前端查询所有数据库列表,即"show databases",传记录id;后端根据记录id从缓存中获取数据源,然后执行sql查询。
4>前端查询某个数据库的所有表列表,即"show tables",传数据源记录id、数据库名;后端从数据库获取记录详情,换数据库名,重新获取数据库连接,并建立新的数据源,缓存名称为数据源名称+数据库名称的组合。
5>前端查询某个数据库的某张表的列名列表,传数据源记录id、数据库名、表名;后端根据记录id(数据源名称)+数据库名称从缓存中取出数据源,在执行业务sql。

关于Spring中HikariDataSource与JdbcTemplate的区别就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐阅读:
  1. 关于 Spring JdbcTemplate 的一些总结
  2. spring boot DAO之jdbcTemplate

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

spring jdbctemplate hds

上一篇:uni-app指的是什么语言

下一篇:CSS中固定宽度的三列布局怎么用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》