(建议学完 MySQL 的基础部分)
JDBC------简而言之:用 Java 语言操作数据库。
Java DataBase Connectivity(Java 语言连接数据库)
目录
[(2)JDBC 简介](#(2)JDBC 简介)
[1、JDBC 概念](#1、JDBC 概念)
[3、JDBC 的本质](#3、JDBC 的本质)
[二、JDBC 快速入门](#二、JDBC 快速入门)
[(1)用 Java 代码操作对应的 MySQL 数据库的基本流程](#(1)用 Java 代码操作对应的 MySQL 数据库的基本流程)
[0、创建工程,并导入对应的驱动 " jar 包 "。](#0、创建工程,并导入对应的驱动 " jar 包 "。)
[3、定义 SQL 语句。](#3、定义 SQL 语句。)
[4、获取执行的 SQL 对象。](#4、获取执行的 SQL 对象。)
[5、执行 SQL。](#5、执行 SQL。)
[(3)进入 IDEA 进行实操(准备阶段)](#(3)进入 IDEA 进行实操(准备阶段))
[3、接着创建一个新的模块(语言选 JAVA 的)](#3、接着创建一个新的模块(语言选 JAVA 的))
[4、创建完模块之后,要导入 MySQL 的驱动 " jar 包"。](#4、创建完模块之后,要导入 MySQL 的驱动 " jar 包"。)
[(4)进入 IDEA 进行实操(开始代码编写阶段)](#(4)进入 IDEA 进行实操(开始代码编写阶段))
一、引言
(1)基本介绍
1、JDBC 就是使用 Java 语言操作关系型数据库的一套 API。
以下就是 JDBC的一个示例代码:
注意:(现在这部分代码我们大致可以认识一些东西)
1、用户名、密码。
2、基本的 SQL 语句。(上面的 UPDATE修改语句)通过这串代码,将SQL语句发送给MySQL 数据库,然后 MySQL 数据库执行SQL,就可以看到数据表里面的修改。
(2)JDBC 简介
1、JDBC 概念
- JDBC 就是使用 Java 语言操作关系型数据库的一套 API
- 全称:( Java DataBase Connectivity ) Java数据库连接
2、详细介绍
当我们写 Java代码, 就要涉及到操作关系型数据库。
一般的情况同一套Java代码,不能去操作不同的关系型数据库。
1、但是为了实现这样的需求,就诞生了一个 JDBC。它定义了一套操作所有的关系数据库的规则,就可以实现同一套 Java 代码操作不同的数据库。(其实就是定义了一套接口)
2、然而,JDBC它只是定义了接口,没有实现类。实现类是各个数据库去给自己定义的。
3、如果以后听到需要弄一个 MySQL 的驱动,其实就是搞一个 MySQL 对应 JDBC的实现类。搞一个 " jar 包 " ,它里面有很多的实现类,拿过来直接用就行。
3、JDBC 的本质
1、官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。
2、各个数据库厂商去实现这套接口,提供数据库驱动jar包。
3、我们可以使用这套接口 ( JDBC ) 编程,真正执行的代码是驱动 jar 包中的实现类。
4、这样做的好处 就是可以:
同一套代码,可以操作不同的关系型数据库。
- 各数据库厂商使用相同的接口,Java代码不需要针对不同数据库分别开发。
(可以做到数据库灵活的切换)
- 可随时替换底层数据库,访问数据库的Java代码基本不变。
(基于接口编程)所以就要把对应的关系数据库的对应的 "jar包" 导入到工程里去就好了。
二、JDBC 快速入门
(1)用 Java 代码操作对应的 MySQL 数据库的基本流程
(2)基本步骤
0、创建工程,并导入对应的驱动 " jar 包 "。
1、注册导入的驱动。
- Class.forName("com.mysql.jdbc.Driver");
Class.forName...(将一个类加载到内存)
2、获取连接。
为了以后的通过 Java 代码发送 SQL 语句给 MySQL 服务器,所以得之间连接起来。
- Connection conn = DriverManager.getConnection(url, username,password);
(连接对象:Connection)
3、定义 SQL 语句。
- String sql = " update... " ;
(要求把 SQL语句编写好。)
4、获取执行的 SQL 对象。
- Statement stmtI conn.createStatement();
(执行 SQL 语句之前,需要获取 SQL对象。)
5、执行 SQL。
- stmt.executeUpdate(sql);
(其实就是通过前面获取到的 SQL 对象,把这个 SQL语句发送给数据库,让这个数据库去执行相关的数据操作)
6、处理返回结果。
(Java 代码获得 MySQL的返回结果,再去进行处理。)
7、释放资源
(整个过程做完之后,就要释放调资源。)
(3)进入 IDEA 进行实操(准备阶段)
1、首先先创建一个新的空工程。
2、然后再给这个空的工程进行一些配置。
(这边建议 JDK 配置成1.8 的,那么编译的版本也要调成 8 版本)
- 如果是老版的 IDEA:
- 现在作者本人的是新版的
3、接着创建一个新的模块(语言选 JAVA 的)
(项目模块的工程名:jdbc-demo)
现在就是整个创建后的结构,这样就可以在里面写代码了。
4、创建完模块之后,要导入 MySQL 的驱动 " jar 包"。
(通常我们的 " jar 包" 会单独存放在一个目录下面 )
我们会在模块上去 new 一个 Directory (目录)。在这里面存放 " jar 包"。
我们可要去 MySQL 官网去寻找自己想要的 " jar 包"。
MySQL 下载对应 jar包的地址https://downloads.mysql.com/archives/c-j/
这里我为了自学的视频相对应,我选择下载的版本是:5.1.48
(下好之后把它复制放到之前创建的目录下:lib)
复制完之后,还没有成功。要让这个创建好的工程去识别这个" jar 包"。
首先先右键这个" jar 包"。(添加为库)
然后我们的驱动" jar 包"和工程都已经弄好了。
5、开始创建一个类
(在里面去完成之前的所有流程)
(4)进入 IDEA 进行实操(开始代码编写阶段)
1、该类的全部代码(代码注释解释了很多,流程与上面同步)
java
package com.feisi.jdbc;
import com.mysql.jdbc.Driver;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
/**
* @Title: JDBCDemo
* @Author HeYouLong
* @Package com.feisi.jdbc
* @Date 2024/6/20 下午9:18
* @description: JDBC入门
*/
public class JDBCDemo {
public static void main(String[] args) throws Exception { //因为后面会有很多个异常,直接抛出最大的
//1、注册驱动
Class.forName("com.mysql.jdbc.Driver");
//记住固定写法
//jdbc:mysql: 后面写 mysql对应的ip端口和数据库名词
//127.0.0.1(localhost) mydb:所连接的数据库名称
String url = "jdbc:mysql://127.0.0.1:3306/mydb";
//将来写自己对应的就行
String username = "root";
String password = "1234";
//2.获取连接 (这个类有一个静态方法)
Connection conn = DriverManager.getConnection(url,username,password);
//3.定义SQL语句
//如:update ... set ... where ...
String sql = "";
//4.获取执行sql的对象Statement
Statement stmt = conn.createStatement();
//5.执行sql,方法参数传入sql语句就行了
//这个方法返回的是 数据库表中受影响的行数
int count=stmt.executeUpdate(sql);
//6.处理结果
System.out.println(count);
//7.释放资源
//这一块有两个地方需要释放:conn 与 stmt
//释放顺序是:先开后放
stmt.close();
conn.close();
}
}
2、注意
1、IDEA 有提示,很方便。
2、这个方法返回的是一个连接对象
这篇博客的内容就到这里。