0


JDBC快速入门,如何使用JDBC操作数据库?

文章目录

1. 前言

在 Java 开发中,使用 Java 语言操作数据库是非常重要的一部分,那么 Java 语言是如何操作数据库的呢?我们需要使用不同厂商的数据库时,例如 MySQL,Oracle 等,显然一套 Java 代码是不能操作不同的数据库的,那么怎样实现一套 Java 代码对不同的数据库的操作呢?

在这里插入图片描述

JDBC 应运而生,

JDBC 是使用Java语言操作关系型数据库的一套API,其中定义了对数据库操作的规范,

不同的数据库厂商提供了不同的 JDBC 实现类,称为驱动,使用时,只需要导入需要的数据库驱动 jar 包,便可以操作不同的关系型数据库,其实际是使用了 jar 包中的实现类。

该系列文章的学习目标:

  • 什么是 JDBC,如何使用?
  • 使用 JDBC 完成数据的增删改查操作
  • JDBC API 熟练使用

2. JDBC 概述

2.1 概念

JDBC ,

Java DataBase Connectivity

, 是使用 Java 语言操作关系型数据库的一套API。本质上来说,JDBC 中定义了一套操作关系型数据库的规范,但是我们不能直接使用这套接口来操作数据库,于是各大数据库厂商提供了 JDBC 不同的实现类,称为驱动,例如 MySQL 驱动,此时,我们只需要操作 JDBC 规范好的代码便可以完成对数据库的操作。在实现对数据库的操作时,其底层是使用了 jar 包中定义的实现类。

image-20230122171430643

当我们使用不同的数据库时,例如测试时使用 MySQL 数据库,部署时使用Oracle 数据库,只需要编写一套 Java 代码便可以实现对不同关系型数据库的操作。

2.2 优点

使用 JDBC 操作关系型数据库时,各大数据库厂商提供了不同的实现类,我们不需要针对不同的数据库进行单独开发,因此,我们也可以随时替换数据库,而不用大量修改Java代码。

我们只需要在使用时导入需要使用的数据库对应的驱动 jar包到项目中,便可以实现对指定数据库的操作,使 Java 操作数据库变得轻松便捷。

下图就是MySQL的驱动jar包:

image-20230122170603015

不同版本的 jar 包可以在官网下载。

3. JDBC 快速入门

使用 Java 语言操作数据库,实际上就是 Java 代码将 sql 语句发送到 MySQL 数据库服务端,MySQL 服务端接收并执行 sql 语句,同时返回一个执行结果,最后该结果会发送到 Java 代码进行处理。

在这里插入图片描述

对数据库的操作大致分为以下几个步骤:

  1. 注册驱动
  2. 获取连接
  3. 编写sql
  4. 获取执行sql对象
  5. 执行sql
  6. 处理返回结果
  7. 释放资源

在进行编码之前,需要先创建工程,导入数据库的驱动 jar 包。这里以 JDBC 操作 MySQL 数据库为例,步骤如下:

创建空项目,定义项目名称及路径:

image-20230122173738084

在File / Project Structure 中进行项目设置,JDK版本,编译版本等:

image-20230122173942616

创建新模块,指定名称及位置:

image-20230122174154153

在 jdbc-demo 模块中新建 Lib 文件夹:

image-20230122174526391

将下载好的 MySQL驱动 jar 包导入 Lib 目录下作为库文件:

image-20230122174641452

右键 MySQL 驱动 jar 包,点击 Add as Library ,并选择模块下有效:

image-20230122174725653

创建好工程以后,就可以编写代码操作数据库啦!

在 idea 中右键 src / new / Java Class ,输入类名 JDBCDemo 创建一个新的类。

第一步:注册驱动

//1.注册驱动
Class.forName("com.mysql.jdbc.Driver");

目的是把 Driver 类加载到内存中。其实,Java 中用于注册驱动的是 registerDriver() 方法,而在 Driver 类中使用了该方法,所以只要把 Driver 类加载到内存中 ,包含 registerDriver 方法的静态代码块就会执行,驱动就会被注册。我们可以查看JDK源码中的Driver 类:

publicclassDriverextendsNonRegisteringDriverimplementsjava.sql.Driver{publicDriver()throwsSQLException{}static{try{DriverManager.registerDriver(newDriver());}catch(SQLException var1){thrownewRuntimeException("Can't register driver!");}}}

第二步:获取连接

String url="jdbc:mysql://localhost:3306?useSSL=false";String username="root";String pass word="abc123";Connection conn =DriverManager.getConnection(url, username, password);

目的是通过 getConnection() 方法获取数据库连接 Connection 类对象,这里没有直接把数据传入方法之中,而是定义了三个局部变量,url,数据库用户名和密码,其中 url 参数有固定的语法格式:

jdbc:mysql://ip地址(域名):端口号?参数键值对1&参数键值对2

第三步:定义sql

String sql="update account set money=2000 where name='张三'";

目的是定义操作数据库的 sql 语句。

第四步:获取执行sql的对象

Statement stmt = conn.createStatement();

目的是在执行 sql 语句之前,先获取执行 sql 的对象 statement。

第五步:执行sql

int count = stmt.executeUpdate(sql);

目的是为了将 sql 发送到数据库服务端,让数据库服务端执行完 sql,并且返回一个结果,这里的 executeUpdate() 返回受影响的行数。

第六步:处理返回结果

System.out.println(count);

目的是处理数据库服务端返回的 sq l执行结果,这里我们打印了 executeUpdate() 方法返回的受影响的行数。

第七步:释放资源

stmt.close();
conn.close();

目的是在完成对数据库的操作以后释放资源,否则数据库文件将一直被被程序占用,释放资源时遵循先开后释放的原则。

使用 JDBC 操作 MySQL 数据库完整代码:

publicclassJDBCDemo{publicstaticvoidmain(String[] args)throwsException{//1.注册驱动Class.forName("com.mysql.jdbc.Driver");//2.获取连接String url="jdbc:mysql://localhost:3306/db1?useSSL=false";String username="root";String pass word="abc123";Connection conn =DriverManager.getConnection(url, username, password);//3.定义sqlString sql="update account set money=2000 where name='张三'";//4.获取执行sql的对象Statement stmt = conn.createStatement();//5.执行sqlint count = stmt.executeUpdate(sql);//6.处理结果System.out.println(count);//7.释放资源
        stmt.close();
        conn.close();}}

Java编程基础教程系列

Java IO流:字节流详解

Java IO流:字符流详解

Java IO流:缓冲流详解

标签: 数据库 java mysql

本文转载自: https://blog.csdn.net/zhangxia_/article/details/128750426
版权归原作者 橙 子_ 所有, 如有侵权,请联系我们删除。

“JDBC快速入门,如何使用JDBC操作数据库?”的评论:

还没有评论