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

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介: [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代码后:

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
5月前
|
安全 Java API
Java Web 在线商城项目最新技术实操指南帮助开发者高效完成商城项目开发
本项目基于Spring Boot 3.2与Vue 3构建现代化在线商城,涵盖技术选型、核心功能实现、安全控制与容器化部署,助开发者掌握最新Java Web全栈开发实践。
572 1
|
5月前
|
存储 前端开发 Java
【JAVA】Java 项目实战之 Java Web 在线商城项目开发实战指南
本文介绍基于Java Web的在线商城技术方案与实现,涵盖三层架构设计、MySQL数据库建模及核心功能开发。通过Spring MVC + MyBatis + Thymeleaf实现商品展示、购物车等模块,提供完整代码示例,助力掌握Java Web项目实战技能。(238字)
640 0
|
9月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
6月前
|
JavaScript Java 微服务
现代化 Java Web 在线商城项目技术方案与实战开发流程及核心功能实现详解
本项目基于Spring Boot 3与Vue 3构建现代化在线商城系统,采用微服务架构,整合Spring Cloud、Redis、MySQL等技术,涵盖用户认证、商品管理、购物车功能,并支持Docker容器化部署与Kubernetes编排。提供完整CI/CD流程,助力高效开发与扩展。
752 64
|
6月前
|
前端开发 Java 数据库
Java 项目实战从入门到精通 :Java Web 在线商城项目开发指南
本文介绍了一个基于Java Web的在线商城项目,涵盖技术方案与应用实例。项目采用Spring、Spring MVC和MyBatis框架,结合MySQL数据库,实现商品展示、购物车、用户注册登录等核心功能。通过Spring Boot快速搭建项目结构,使用JPA进行数据持久化,并通过Thymeleaf模板展示页面。项目结构清晰,适合Java Web初学者学习与拓展。
474 1
|
7月前
|
缓存 NoSQL Java
Java Web 从入门到精通之苍穹外卖项目实战技巧
本项目为JavaWeb综合实战案例——苍穹外卖系统,涵盖Spring Boot 3、Spring Cloud Alibaba、Vue 3等主流技术栈,涉及用户认证、订单处理、Redis缓存、分布式事务、系统监控及Docker部署等核心功能,助你掌握企业级项目开发全流程。
806 0
|
7月前
|
安全 JavaScript Java
java Web 项目完整案例实操指南包含从搭建到部署的详细步骤及热门长尾关键词解析的实操指南
本项目为一个完整的JavaWeb应用案例,采用Spring Boot 3、Vue 3、MySQL、Redis等最新技术栈,涵盖前后端分离架构设计、RESTful API开发、JWT安全认证、Docker容器化部署等内容,适合掌握企业级Web项目全流程开发与部署。
629 0
|
人工智能 JavaScript 关系型数据库
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
469 14
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
|
12月前
|
中间件 关系型数据库 数据库
docker快速部署OS web中间件 数据库 编程应用
通过Docker,可以轻松地部署操作系统、Web中间件、数据库和编程应用。本文详细介绍了使用Docker部署这些组件的基本步骤和命令,展示了如何通过Docker Compose编排多容器应用。希望本文能帮助开发者更高效地使用Docker进行应用部署和管理。
374 19
|
网络协议 Java Shell
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
840 7

推荐镜像

更多