多语言展示
当前在线:1728今日阅读:155今日分享:35

JDBC 详细介绍

JDBC是学习Java必须要掌握的知识点。这里将详细介绍JDBC相关的知识点。知识点共分为两个大的模块。分别是对JDBC的概述和如何使用JDBC连接数据库。同时在第二点中将详细介绍每个步骤的含义。
工具/原料
1

Eclipse

2

JDK

一、JDBC概述
1

JDBC(Java Database Connectivity.Java数据库连接)是一种用于执行SQL语句的Java API。JDBC是Java访问数据库的标准规范。可以为不同的关系型数据库提供统一访问。它由一组用Java语言编写的接口(规范)和类(工具类)组成。

2

驱动介绍:JDBC需要驱动连接。所谓驱动,就是JDBC的接口实现类。由数据库生产厂商提供。简单来说,数据库只需要实现JDBC提供的驱动接口,我们便可以通过JDBC访问到该数据库。所以,应用程序、JDBC和数据库之间的关系可以由图所示。

二、使用JDBC连接数据库步骤详细介绍
1

第一步:驱动注册。JDBC规范规定,如果需要连接数据库,必须提供驱动接口的实现类。驱动接口为:java.lang.Driver。每一个数据库提供驱动的jar包,都会实现该接口,所以要想连接对应的数据库,我们还需要引入相应的jar包。这里我们以连接MySQL为例。从MySQL下载对应jar包导入工程。

2

JDBC规范提供了实现注册驱动的方式:DriverManager.registerDriver(new com.mysql.jdbc.Driver())。但是直接使用这个方法会导致我们的java代码与MySQL实现类耦合,这样如果想要切换数据库就需要修改代码。所以通常我们使用Class.forName('类的全限定名称')来实现驱动的注册。同时,我们可以把对应数据库的驱动实现类的全限定名称放在配置文件中,这样只需要修改配置文件即达到了切换数据库的目的

3

第二步:创建连接:Connection conn = DriverManager.getConnection(url,user,password)。这里需要注意我们导入的包是java.sql.Connection。同时对url的格式进行说明:jdbc:数据库名://[host:port]/[database][?参数]..[?参数],默认端口3306。对于MySQL,如果在创建连接后,运行时候出现警告:Establishing SSL connection without server's identity verification is …解决方法:在连接后加一个参数?useSSL=false

4

第三步:创建执行SQL的语句Statement,这里有两种方式,我们常用第二种方式,对SQL进行预处理,特别是当SQL中有需要传入参数时。Statement stat = conn.createStatement();PreparedStatement ps = conn.prepareStatement(sql); //对SQL语句做预处理。比较常用,实用

5

第四步:执行SQL。执行SQL有许多方法,常用的总结如下:如果执行SELECT的查询语句,使用ResultSet executeQuery(String sql);如果执行INSERT/UPDATE/DELETE,使用executeUpdate(String sql);这是两种比较常用的,还有两个方法是批处理,简单点说就是同时执行一大批SQL。方法如下:addBatch(String sql) :把多条sql语句放到一个批处理中。executeBatch():向数据库发送一批sql语句执行。

6

第五步,处理结果集。对于查询语句,通常返回的是ResultSet。这个类里提供了许多获取数据,已经对结果集进行移动的方法。详细参考图片

7

第六步,释放资源。释放资源的顺序是先创建的后关闭。所以先释放ResultSet,再释放Statement,最后是Connection

注意事项
1

想要使用必须先导入jar包

2

可以查看MySQL驱动源码,可以发现它实现了java.sql.Driver类,同时在静态代码块中调用了DriverManager.register()方法

推荐信息