MYSQL——JBDC实现增删改查

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: MYSQL——JBDC实现增删改查

小王同学先给大家简单的介绍下咱们的jdbc


Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。我们通常说的JDBC是面向关系型数据库的。


API概述🎅🏼

JDBC API主要位于JDK中的java.sql包中(之后扩展的内容位于javax.sql包中),主要包括(斜体代表接口,需驱动程序提供者来具体实现):


DriverManager:负责加载各种不同驱动程序(Driver),并根据不同的请求,向调用者返回相应的数据库连接(Connection)。Driver:驱动程序,会将自身加载到DriverManager中去,并处理相应的请求并返回相应的数据库连接(Connection)。Connection:数据库连接,负责与进行数据库间通讯,SQL执行以及事务处理都是在某个特定Connection环境中进行的。可以产生用以执行SQL的Statement。Statement:用以执行SQL查询和更新(针对静态SQL语句和单次执行)。PreparedStatement:用以执行包含动态参数的SQL查询和更新(在服务器端编译,允许重复执行以提高效率)。CallableStatement:用以调用数据库中的存储过程。SQLException:代表在数据库连接的建立和关闭和SQL语句的执行过程中发生了例外情况(即错误)。


数据类型的映射


建立连接🎅🏼

建立连接的五大步骤:


加载(注册)数据库

建立链接

执行SQL语句

处理结果集

关闭数据库

首先小王同学先去公共仓库去下载我们的jdbc driver jar包!~\


在搜索栏搜索mysql~


e9f6d5a312cd4074a40a58aea9320d91.png

点第一个mysql connector

c14cd625e5e44d81827b0db7ff122368.png

7ff492c435d544b2a502cb2345b085d4.png

 里面有各种各样的版本 小王同学的mysql是8版本系列的所以也要下载同样版本系列的驱动包~

11369a5e607e4a3ea0faecec12b70834.png

点击下载jar包 下载解压完 👉🏼

bda515e400f94eb8b1819d6d2a12cd64.png


右键ctrl c 复制 我们的jar包

然后打开我们的IDEA

创建一个jdbc的项目


8c456495e3be4ef8b76f4b6fc222dcfd.png

创建一个lib文件夹 右键ctrl v  

然后

b7a0baae811a449d8d53dfc5c6b39ee3.png

Add as Library 就把我们的jar 包导入进去了!~

接下来就是最精彩的CRUD辣~


我们先在任务管理器创建一个学生表

8579f96a53e442bb82a4fe58002bffe2.png

接着在IDEA实现 往表里插入一行数据~

新增(create)🎅🏼

代码附上:

import com.mysql.cj.jdbc.MysqlDataSource;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;
public class JDBCInsert {
    public static void main(String[] args) throws SQLException {
        DataSource dataSource=new MysqlDataSource();
        // 1. 创建数据源对象. 数据源对象就描述了要访问的数据库是啥, 在哪.
        ((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/wxz_03?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource)dataSource).setUser("root");
        ((MysqlDataSource)dataSource).setPassword("root");
        // 2. 让代码和数据库服务器建立连接.
        Connection connection=dataSource.getConnection();
        // [用户输入] 通过用户输入的数据, 来确定插入的值.
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入要查找的学号: ");
        int id=sc.nextInt();
        System.out.println("请输入要查找的姓名: ");
        String  name=sc.next();
        // 3. 构造要执行的 SQL 语句~~ [构造请求]
        String  sql="insert into  student  values(?,?)";
        PreparedStatement statement = connection.prepareStatement(sql);
        statement.setInt(1, id);
        statement.setString(2, name);
        System.out.println("statement: " + statement);
        // 4. 执行 SQL [发送请求 & 读取响应]
        //    执行方法, 有两个
        //    executeUpdate 对应插入删除修改语句. 返回值表示这次 SQL 操作影响到的行数.
        //    executeQuery  对应查询语句. 返回值则是返回的临时表数据.
        int n = statement.executeUpdate();
        System.out.println("n = " + n);
        // 5. 完成之后, 就需要关闭释放相关资源.
        statement.close();
        connection.close();
    }
}

c530ff09c1894b5e9d1162931a0c0738.png

插入成功 我们进入cmd 查看一下表里的数据吧~

df7dbaa18d924aad9ab603aad935724e.png

成功辣~

接着是我们的查询

查询(select)🎅🏼

代码附上:

import com.mysql.cj.jdbc.MysqlDataSource;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class JDBCSelect {
    public static void main(String[] args) throws SQLException {
        // 1. 创建数据源
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/wxz_03?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource)dataSource).setUser("root");
        ((MysqlDataSource)dataSource).setPassword("root");
        // 2. 建立连接
        Connection connection = dataSource.getConnection();
        // 3. 构造 SQL
        String sql = "select * from student where id = ?";
        PreparedStatement statement = connection.prepareStatement(sql);
        statement.setInt(1, 1);
        // 4. 执行 SQL
        //    查询语句要使用 executeQuery 来完成了.
        //    返回的结果是 ResultSet . 结果集. 里面是一个 "表" 这样的数据结构.
        //    一个表里有很多行, 每一行有很多列~~
        ResultSet resultSet = statement.executeQuery();
        // 5. 遍历结果集合
        while (resultSet.next()) {
            // 每次循环, 就能够获取到 resultSet 中的一行. 进一步的就可以拿到每一列!!
            // getXXX 也是有一系列方法的. 会根据要取的数据的类型, 来灵活决策.
            int id = resultSet.getInt(1);
            String name = resultSet.getString(2);
            System.out.println("id = " + id + ", name =" + name);
        }
        // 6. 释放资源
        resultSet.close();
        statement.close();
        connection.close();
    }
}

我们在控制台成功的查询到了前面插入的一条数据~

bb5308359e244fbe80f71da66de98828.png接着是更新数据

更新(update)🎅🏼

代码附上🎅🏼

import com.mysql.cj.jdbc.MysqlDataSource;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;
// 通过 JDBC 修改数据
public class JDBCUpdate {
    public static void main(String[] args) throws SQLException {
        // 1. 创建数据源
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/wxz_03?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource)dataSource).setUser("root");
        ((MysqlDataSource)dataSource).setPassword("root");
        // 2. 建立连接
        Connection connection = dataSource.getConnection();
        // 3. 构造 SQL
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要修改的同学学号: ");
        int id = scanner.nextInt();
        System.out.println("请输入要修改的同学姓名: ");
        String name = scanner.next();
        String sql = "update student set name = ? where id = ?";
        PreparedStatement statement = connection.prepareStatement(sql);
        statement.setString(1, name);
        statement.setInt(2, id);
        // 4. 执行 SQL
        int n = statement.executeUpdate();
        System.out.println("n = " + n);
        // 5. 关闭释放资源
        statement.close();
        connection.close();
    }

152e17789a934cf4889ee6bd895f1b17.png

我们在控制台查询一下看看更新了没

ede71414f96d47d1b69604263d6b331c.png

果然更新了 我们的update 也成功了 接着是最后的一个delete环节~

删除(delete)🎅🏼

代码附上🎅🏼


import com.mysql.cj.jdbc.MysqlDataSource;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;
public class JDBCDelete {
    public static void main(String[] args) throws SQLException {
        // 1. 创建数据源
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource) dataSource).setURL("jdbc:mysql://127.0.0.1:3306/wxz_03?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource) dataSource).setUser("root");
        ((MysqlDataSource) dataSource).setPassword("root");
        // 2. 和数据库建立连接
        Connection connection = dataSource.getConnection();
        // 3. 构造 SQL 语句
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要删除的学号: ");
        int id = scanner.nextInt();
        String sql = "delete from student where id = ?";
        PreparedStatement statement = connection.prepareStatement(sql);
        statement.setInt(1, id);
        // 4. 执行 SQL
        int n = statement.executeUpdate();
        System.out.println("n = " + n);
        // 5. 释放资源
        statement.close();
        connection.close();
    }
}

435997584378426686b2046e347c0600.png

小王同学去控制台看看学号为1的同学删除了没有!

1a458905b3a7444184f003fc7a6e764f.png

成功辣~~

以上就是小王同学带给大家的通过jdbc连接IDEA来实现 CRUD 是不是很方便呢

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6月前
|
SQL 关系型数据库 MySQL
mysql 简单的sql语句,入门级增删改查
介绍MySQL中的基本SQL语句,包括数据的增删改查操作,使用示例和简单的数据表进行演示。
mysql 简单的sql语句,入门级增删改查
|
10月前
|
SQL 关系型数据库 MySQL
【MySQL】基本查询(表的增删改查)-- 详解(上)
【MySQL】基本查询(表的增删改查)-- 详解(上)
|
23天前
|
关系型数据库 MySQL 数据库连接
Unity连接Mysql数据库 增 删 改 查
在 Unity 中连接 MySQL 数据库,需使用 MySQL Connector/NET 作为数据库连接驱动,通过提供服务器地址、端口、用户名和密码等信息建立 TCP/IP 连接。代码示例展示了如何创建连接对象并执行增删改查操作,确保数据交互的实现。测试代码中,通过 `MySqlConnection` 类连接数据库,并使用 `MySqlCommand` 执行 SQL 语句,实现数据的查询、插入、删除和更新功能。
|
3月前
|
SQL 存储 关系型数据库
MySQL/SqlServer跨服务器增删改查(CRUD)的一种方法
通过上述方法,MySQL和SQL Server均能够实现跨服务器的增删改查操作。MySQL通过联邦存储引擎提供了直接的跨服务器表访问,而SQL Server通过链接服务器和分布式查询实现了灵活的跨服务器数据操作。这些技术为分布式数据库管理提供了强大的支持,能够满足复杂的数据操作需求。
123 12
|
4月前
|
关系型数据库 MySQL Java
Servlet+MySQL增删改查 原文出自[易百教程] 转载请保留原文链接: https://www.yiibai.com/geek/1391
对于任何项目开发,创建,读取,更新和删除(CRUD)记录操作是应用程序的一个最重要部分。
109 20
|
8月前
|
JavaScript 关系型数据库 MySQL
创建nodejs项目并接入mysql,完成用户相关的增删改查的详细操作
创建nodejs项目并接入mysql,完成用户相关的增删改查的详细操作
103 0
|
5月前
|
关系型数据库 MySQL
MySQL表的增删改查(基础篇详细详解)
MySQL表的增删改查(基础篇详细详解)
111 5
|
5月前
|
关系型数据库 MySQL 数据库
Mysql学习笔记(四):Python与Mysql交互--实现增删改查
如何使用Python与MySQL数据库进行交互,实现增删改查等基本操作的教程。
100 1
|
5月前
|
关系型数据库 MySQL 数据库
mysql的增删改查
本文介绍了MySQL数据库中进行增删改查操作的基本语法和注意事项,包括如何添加、修改和删除数据。
144 2
|
7月前
|
JavaScript 关系型数据库 MySQL
node连接mysql,并实现增删改查功能
【8月更文挑战第26天】node连接mysql,并实现增删改查功能
192 3

推荐镜像

更多