Jdbc非学术性地理解DataSource和Jdbc
Posted The Gao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jdbc非学术性地理解DataSource和Jdbc相关的知识,希望对你有一定的参考价值。
在数据库与Java代码的交互中,无论是否适用框架,DataSource和Jdbc都是两个绕不开的概念,初学者可能会对这两个概念的浅层次有些混淆。
DataSource可以理解为一种个性化连接池,其中开辟了一定数量的与数据库交互的连接供取用,通过dataSource.getConnection()
方法可以拿到其中的一个连接,通过这个连接建立statement
。statement
有三种,分别是statement
、perparedStatement
、CallableStatement
,通常情况下考虑到sql注入的问题会使用perparedStatement
,由perparedStatement
执行具体的sql语句,完成与数据库的交互。使用完毕后,需要关闭connection、statement等有限资源。
市面上常用的DataSource包括C3P0、Dbcp,大公司常用的Druid、SpringBoot框架默认的Hikari等。
Jdbc是指与数据操作的手段,通常会把Jdbc操作封装起来,因此可以理解为一个工具类。使用JdbcUtils首先需要通过配置文件配置dataSource或引用dataSource对象,配置之后它不再需要开发者自己编写取用connection、生成statement、释放资源等重复性高的代码,直接通过JdbcUtils的成员方法执行sql语句。
常用的JdbcUtils包括JdbcTemplate等,大名鼎鼎的MyBatis框架也可以归类为JdbcUtils。
以上是关于Jdbc非学术性地理解DataSource和Jdbc的主要内容,如果未能解决你的问题,请参考以下文章
理解JNDI中 java comp/env/jdbc/datasource 与 jdbc/datasource 的不同之