[Java Web]JDBC->Java操作MySQL数据库(一)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: [Java Web]JDBC->Java操作MySQL数据库

1、简介

1.1、背景

开发中,同一套Java代码是无法操作不同的关系型数据库,因为每一个关系型数据库的底层实现细节都不一样。如果这样,假如在业务开发阶段使用的是MySQL数据库,而上线时公司最终选用oracle数据库,则需要对代码进行大批量修改,这显然行不通。

因此Java开发人员更希望做到的是同一套Java代码操作不同的关系型数据库。sun公司就指定了一套标准接口(JDBC),JDBC中定义了所有操作关系型数据库的规则。

接口是无法直接使用的,我们需要使用接口的实现类,而这套实现类(称之为:驱动)就由各自的数据库厂商给出。

简单来说:在开发中我们使用的是java语言,那么势必要通过java语言操作数据库中的数据,势必要用Java操作不同的数据库管理系统,所以需要JDBC!

1.2、概念

JDBC(Java Database Connectivity)是Java程序用于访问关系数据库的API。通过标准的接口和类来管理数据库连接和执行SQL语句,可以用于连接不同类型的数据库管理系统(DBMS),如MySQL、Oracle、SQL Server等。这使得Java程序员可以快速、方便地与各种关系数据库进行交互。

1.3、驱动程序

JDBC驱动程序分为四种类型:

  1. JDBC-ODBC桥驱动
  2. Native-API驱动(部分)
  3. Network-Protocol驱动(三层驱动)
  4. Thin驱动(纯Java驱动)

通过使用JDBC驱动程序,Java程序员可以方便地访问关系型数据库,而不必关心数据库的具体实现方式。

2、JDBC的优点

各数据库厂商使用相同的接口,Java代码不需要针对不同数据库分别开发,可随时替换底层数据库,访问数据库的Java代码基本不变 。

以后编写操作数据库的代码只需要面向JDBC(接口),操作哪个关系型数据库就需要导入该数据库的驱动包,如需要操作MySQL数据库,就需要在项目中导入MySQL数据库的驱动包。

3、使用步骤

3.1、操作流程

①编写Java代码

②Java代码将SQL发送到MySQL服务端

③MySQL服务端接收到SQL语句并执行该SQL语句

④将SQL语句执行的结果返回给Java代码

3.2、代码步骤

①创建工程,导入驱动jar包

②注册驱动->Class.forName("com.mysql.jdbc.Driver");

③获取连接->Connection connection = DriverManager.getConnection(url, username, password);

Java代码需要发送SQL给MySQL服务端,就需要先建立连接

(如果是连接本地root数据库,要记得开启本地的MySQL服务)

(在后面的技术中,主要使用的是连接池的方式获取Connection连接)

④定义SQL语句->String sql = "update…" ;

⑤获取执行SQL对象(执行SQL语句需要SQL执行对象,而这个执行对象就是Statement对象) ->

->Statement statement = connection.createStatement();

⑥执行SQL->statement.executeUpdate(sql);

ResultSet resultSet = statement.executeQuery(sql);

⑦处理返回结果 while (resultSet.next()) {...}

⑧释放资源connection.close();

3.3、实例演示

3.3.1、创建空工程

3.3.2、指定项目的名称以及存放路径

3.3.3、设置项目的JDK版本和编译版本

编译版本一般默认即可

3.3.4、创建模块

3.3.5、⭐导入MySQL驱动

将mysql的驱动包放在模块下的lib目录(随意命名,但是一般命名为lib或library)下,

并将该jar包添加为库文件

添加到项目依赖中,MySQL驱动jar包才能使用。

3.3.5.1、判断

如何判断添加是否成功:

①未添加:

②已添加成功

添加依赖成功后,jar包可以下拉看见其中的各种代码

3.3.6、⭐创建Java类

url : 连接路径

语法:jdbc:mysql://ip地址(域名):端口号/数据库名称?参数键值对1&参数键值对2…

示例:jdbc:mysql://127.0.0.1:3306/db1

如果连接的是本机mysql服务器,并且mysql服务默认端口是3306,则url可以简写为:jdbc:mysql:///数据库名称?参数键值对

1. package com.xzl;
2. 
3. import java.sql.Connection;
4. import java.sql.DriverManager;
5. import java.sql.Statement;
6. 
7. public class jdbc {
8. public static void main(String[] args) throws Exception {
9. //1、注册驱动
10.         Class.forName("com.mysql.jdbc.Driver");
11. //2、获取连接
12. String url = "jdbc:mysql://127.0.0.1:3306/student";
13. String username = "root";
14. String password_P = "";
15. Connection connection = DriverManager.getConnection(url,username,password);
16. //3、定义sql
17. String sql = "insert into stu(name,math,gender) values('张三',85,'男')";
18. //4. 获取执行sql的对象Statement
19. Statement statement = connection.createStatement();
20. //5、执行SQL
21. int count = statement.executeUpdate(sql);
22. //6、处理结果(此处demo展现受影响的函数)
23.         System.out.println(count);
24. //7、释放资源
25.         statement.close();
26.         connection.close();
27.     }
28. }

结果:

在执行Java代码前:

执行Java代码后:

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
关系型数据库 MySQL Java
【MySQL+java+jpa】MySQL数据返回项目的感悟
【MySQL+java+jpa】MySQL数据返回项目的感悟
57 1
|
7天前
|
自然语言处理 Java 关系型数据库
Java mysql根据很长的富文本如何自动获取简介
通过使用Jsoup解析富文本并提取纯文本,然后根据需要生成简介,可以有效地处理和展示长文本内容。该方法简单高效,适用于各种应用场景。希望本文对您在Java中处理富文本并生成简介的需求提供实用的指导和帮助。
38 14
|
8天前
|
自然语言处理 Java 关系型数据库
Java mysql根据很长的富文本如何自动获取简介
通过使用Jsoup解析富文本并提取纯文本,然后根据需要生成简介,可以有效地处理和展示长文本内容。该方法简单高效,适用于各种应用场景。希望本文对您在Java中处理富文本并生成简介的需求提供实用的指导和帮助。
30 9
|
1月前
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
138 26
|
1月前
|
JavaScript 安全 Java
java版药品不良反应智能监测系统源码,采用SpringBoot、Vue、MySQL技术开发
基于B/S架构,采用Java、SpringBoot、Vue、MySQL等技术自主研发的ADR智能监测系统,适用于三甲医院,支持二次开发。该系统能自动监测全院患者药物不良反应,通过移动端和PC端实时反馈,提升用药安全。系统涵盖规则管理、监测报告、系统管理三大模块,确保精准、高效地处理ADR事件。
|
2月前
|
关系型数据库 MySQL Java
MySQL索引优化与Java应用实践
【11月更文挑战第25天】在大数据量和高并发的业务场景下,MySQL数据库的索引优化是提升查询性能的关键。本文将深入探讨MySQL索引的多种类型、优化策略及其在Java应用中的实践,通过历史背景、业务场景、底层原理的介绍,并结合Java示例代码,帮助Java架构师更好地理解并应用这些技术。
66 2
|
2月前
|
监控 前端开发 Java
【技术开发】接口管理平台要用什么技术栈?推荐:Java+Vue3+Docker+MySQL
该文档介绍了基于Java后端和Vue3前端构建的管理系统的技术栈及功能模块,涵盖管理后台的访问、登录、首页概览、API接口管理、接口权限设置、接口监控、计费管理、账号管理、应用管理、数据库配置、站点配置及管理员个人设置等内容,并提供了访问地址及操作指南。
|
3月前
|
SQL Java 关系型数据库
java连接mysql查询数据(基础版,无框架)
【10月更文挑战第12天】该示例展示了如何使用Java通过JDBC连接MySQL数据库并查询数据。首先在项目中引入`mysql-connector-java`依赖,然后通过`JdbcUtil`类中的`main`方法实现数据库连接、执行SQL查询及结果处理,最后关闭相关资源。
290 6
|
3月前
|
Java 关系型数据库 MySQL
mysql5.7 jdbc驱动
遵循上述步骤,即可在Java项目中高效地集成MySQL 5.7 JDBC驱动,实现数据库的访问与管理。
651 1
|
3月前
|
SQL 分布式计算 关系型数据库
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
141 0