JDBC(简介、入门与IDEA中导入MySQL的驱动)

(建议学完 MySQL 的基础部分)

JDBC------简而言之:用 Java 语言操作数据库。

Java DataBase Connectivity(Java 语言连接数据库)


目录

一、引言

(1)基本介绍

[(2)JDBC 简介](#(2)JDBC 简介)

[1、JDBC 概念](#1、JDBC 概念)

2、详细介绍

[3、JDBC 的本质](#3、JDBC 的本质)

[二、JDBC 快速入门](#二、JDBC 快速入门)

[(1)用 Java 代码操作对应的 MySQL 数据库的基本流程](#(1)用 Java 代码操作对应的 MySQL 数据库的基本流程)

(2)基本步骤

[0、创建工程,并导入对应的驱动 " jar 包 "。](#0、创建工程,并导入对应的驱动 " jar 包 "。)

1、注册导入的驱动。

2、获取连接。

[3、定义 SQL 语句。](#3、定义 SQL 语句。)

[4、获取执行的 SQL 对象。](#4、获取执行的 SQL 对象。)

[5、执行 SQL。](#5、执行 SQL。)

6、处理返回结果。

7、释放资源

[(3)进入 IDEA 进行实操(准备阶段)](#(3)进入 IDEA 进行实操(准备阶段))

1、首先先创建一个新的空工程。

2、然后再给这个空的工程进行一些配置。

​编辑

[3、接着创建一个新的模块(语言选 JAVA 的)](#3、接着创建一个新的模块(语言选 JAVA 的))

[4、创建完模块之后,要导入 MySQL 的驱动 " jar 包"。](#4、创建完模块之后,要导入 MySQL 的驱动 " jar 包"。)

5、开始创建一个类

[(4)进入 IDEA 进行实操(开始代码编写阶段)](#(4)进入 IDEA 进行实操(开始代码编写阶段))

1、该类的全部代码(代码注释解释了很多,流程与上面同步)

2、注意


一、引言

(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、这个方法返回的是一个连接对象


这篇博客的内容就到这里。

相关推荐
Hacker_LaoYi37 分钟前
【渗透技术总结】SQL手工注入总结
数据库·sql
岁月变迁呀39 分钟前
Redis梳理
数据库·redis·缓存
独行soc39 分钟前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍06-基于子查询的SQL注入(Subquery-Based SQL Injection)
数据库·sql·安全·web安全·漏洞挖掘·hw
你的微笑,乱了夏天1 小时前
linux centos 7 安装 mongodb7
数据库·mongodb
工业甲酰苯胺1 小时前
分布式系统架构:服务容错
数据库·架构
GoodStudyAndDayDayUp2 小时前
IDEA能够从mapper跳转到xml的插件
xml·java·intellij-idea
独行soc2 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍08-基于时间延迟的SQL注入(Time-Based SQL Injection)
数据库·sql·安全·渗透测试·漏洞挖掘
White_Mountain3 小时前
在Ubuntu中配置mysql,并允许外部访问数据库
数据库·mysql·ubuntu
Code apprenticeship3 小时前
怎么利用Redis实现延时队列?
数据库·redis·缓存
百度智能云技术站3 小时前
广告投放系统成本降低 70%+,基于 Redis 容量型数据库 PegaDB 的方案设计和业务实践
数据库·redis·oracle