2024年java jdbc基础知识

java jdbc基础知识本篇内容包括 JDBC 概述 JDBC 的执行流程 包括注册驱动 获取连接对象 创建 SQL 执行对象 执行 SQL 语句 遍历结果集 关闭资源 处理异常 以及 JDBC 的 Demo 一 JDBC 概述 JDBC Java Database Connectivity 即 Java 数据库连接 是 Java 语言中用来规范客户端程序如何来访问数据库的应用程序接口

大家好,我是讯享网,很高兴认识大家。



本篇内容包括:JDBC 概述、JDBC 的执行流程(包括注册驱动、获取连接对象、创建 SQL 执行对象、执行SQL语句、遍历结果集、关闭资源(处理异常))以及 JDBC 的 Demo。

一、JDBC 概述

JDBC(Java Database Connectivity)即 「Java 数据库连接」,是 Java 语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC 提供一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能编写数据库应用程序。JDBC 也是 Sun Microsystems 的商标。我们通常说的 JDBC 是面向关系型数据库的。

JDBC 也是 Java 访问数据库的标准规范,真正怎么操作数据库还需要具体的实现类,也就是数据库驱动。每个数据库厂商根据自家数据库的通信格式编写好自己数据库的驱动。JDBC 即可以为多种关系数据库提供统一访问,而我们只需要会调用 JDBC 接口中的方法即可。

使用 JDBC 的好处:

  • 程序员如果要开发访问数据库的程序,只需要会调用 JDBC 接口中的方法即可,不用关注类是如何实现的;
  • 使用同一套 Java 代码,进行少量的修改就可以访问其他 JDBC 支持的数据库。

二、JDBC 的执行流程

执行JDBC的流程可分为:注册驱动(加载数据库驱动)、获取连接对象(Connection)、创建 SQL 执行对象(Statement)、执行 SQL 语句和关闭资源五个步骤。

1、注册驱动

在连接数据库之前,首先要加载想要连接的数据库的驱动到 Jvm(Java虚拟机),这通过 类的静态方法 实现:

代码语言:javascript
复制

成功加载后,会将 Driver 类的实例注册到 DriverManager 类中。

2、获取连接对象(Connection)

要连接数据库,需要向 请求并获得 Connection 对象,该对象就代表一个数据库的连接,使用 DriverManager 的 方法传入指定的欲连接的数据库的路径、数据库的用户名和密码来获得:

代码语言:javascript
复制
讯享网
3、创建 SQL 执行对象(Statement)

要执行 SQL 语句,必须获得 实例,Statement 实例分为以下 3 种类型:

  1. 执行静态 SQL 语句。通常通过 Statement 实例实现,每次执行 sql 语句,数据库都要执行 sql 语句的编译 ,最好用于仅执行一次查询并返回结果的情形,效率高于PreparedStatement;
  2. 执行动态 SQL 语句。通常通过 PreparedStatement 实例实现,PreparedStatement 继承自 Statement,PreparedStatement 是预编译的,在执行可变参数的一条 sql 时,PreparedStatement 比 Statement 的效率高,因为 DBMS 预编译一条 sql 当然会比多次编译一条 sql 的效率要高。
  3. 执行数据库存储过程。通常通过 CallableStatement 实例实现,CallableStatement 继承自 PreparedSatement,CallableStatement 提供了对输出和输入/输出参数的支持。Ps: 存储过程(Stored Procedure),是一组为了完成特定功能的 sql 语句集,用户通过指定存储过程的名字并给出参数(如果该存储过程有参数的话)来执行它。

总结:Statement 接口提供了执行语句和获取结果的基本方法;PreparedStatement 接口添加了处理 IN 参数的方法;而 CallableStatement 添加了处理 OUT 参数的方法。

具体的实现方式:

代码语言:javascript
复制
 
 
4、执行SQL语句

Statement 接口提供了三种执行 SQL 语句的方法:executeQuery 、executeUpdate 和 execute:

  • :执行查询数据库的 SQL 语句(DQL),用于产生单个结果集(ResultSet)的对象,例如 SELECT 语句;
  • :用于执行 DML(INSERT、UPDATE 或 DELETE等)语句以及 DDL(CREATE、DROP等);
  • :用于执行返回多个结果集、多个更新计数或二者组合的语句。多数程序员不会需要该高级功能。

具体实现的代码:

代码语言:javascript
复制
讯享网
5、遍历结果集

两种情况:执行更新返回的是本次操作影响到的记录数;执行查询返回的结果是一个ResultSet对象。ResultSet 包含符合 sql 语句中条件的所有行,并且它通过一套 get 方法提供了对这些行中数据的访问。 使用结果集(ResultSet)对象的访问方法获取数据:

代码语言:javascript
复制
 
 
6、关闭资源(处理异常)

操作完成以后要把所有使用的 Jdbc 对象全都关闭,以释放 Jdbc 资源,关闭顺序和声明顺序相反:

  1. 先关闭 requestSet
  2. 再关闭 preparedStatement
  3. 最后关闭连接对象 connection
代码语言:javascript
复制
 
 

三、JDBC Demo

1、添加 Maven 依赖
代码语言:javascript
复制
 
 
2、添加一个配置文件 src/resources/jdbc.properties
代码语言:javascript
复制
 
 
3、添加 DbUtils 类
代码语言:javascript
复制
 
 

BUtils 类封装好了,我们后续直接调用就可以了。

5、对数据库进行插入操作
代码语言:javascript
java jdbc基础知识 复制
 
 
6、对数据库进行修改操作
代码语言:javascript
复制
 
 
7、对数据库进行删除操作
代码语言:javascript
复制
 
 
8、对数据库进行查询操作
代码语言:javascript
复制
 
 
9、对数据库进行事务操作
代码语言:javascript
复制
小讯
上一篇 2025-01-01 08:32
下一篇 2024-12-26 14:36

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/7750.html