Jdbc非学术性地理解DataSource和Jdbc

Posted The Gao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jdbc非学术性地理解DataSource和Jdbc相关的知识,希望对你有一定的参考价值。

在数据库与Java代码的交互中,无论是否适用框架,DataSource和Jdbc都是两个绕不开的概念,初学者可能会对这两个概念的浅层次有些混淆。

DataSource可以理解为一种个性化连接池,其中开辟了一定数量的与数据库交互的连接供取用,通过dataSource.getConnection()方法可以拿到其中的一个连接,通过这个连接建立statementstatement有三种,分别是statementperparedStatementCallableStatement ,通常情况下考虑到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的主要内容,如果未能解决你的问题,请参考以下文章

jpa

理解JNDI中 java comp/env/jdbc/datasource 与 jdbc/datasource 的不同之

自定义简易JDBC连接池及测试

Java 之 JDBCTemplate

spring jdbc踩坑日记,new JdbcTemplate 为null导致UserDao一直为null

spring中jdbc的使用心得