【JAVA基础篇教学】第十六篇:Java连接和操作MySQL数据库

博主打算从0-1讲解下java基础教学,今天教学第十六篇:Java连接和操作MySQL数据库。

我将提供一个简单的示例代码,涵盖数据库连接、查询、插入和更新等操作。 

一、下载MySQL驱动包 

1.下载地址:MySQL :: Download Connector/J

2.解压文件 

二、连接MySQL数据库

在 Java 中连接到 MySQL 数据库需要使用 JDBC(Java Database Connectivity)API。您需要提供数据库的 URL、用户名和密码来建立连接。

示例代码:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;public class DatabaseConnection {private static final String URL = "jdbc:mysql://localhost:3306/mydatabase";private static final String USERNAME = "username";private static final String PASSWORD = "password";public static Connection getConnection() {Connection connection = null;try {// 注册 JDBC 驱动程序Class.forName("com.mysql.cj.jdbc.Driver");// 打开连接connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);} catch (ClassNotFoundException | SQLException e) {e.printStackTrace();}return connection;}
}

三、执行SQL查询

一旦连接成功,您就可以使用 StatementPreparedStatement 对象执行 SQL 查询。

示例代码:

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public class QueryExample {public static void main(String[] args) {try {Connection connection = DatabaseConnection.getConnection();Statement statement = connection.createStatement()) String sql = "SELECT * FROM users";ResultSet resultSet = statement.executeQuery(sql);while (resultSet.next()) {int id = resultSet.getInt("id");String username = resultSet.getString("username");String email = resultSet.getString("email");System.out.println("ID: " + id + ", Username: " + username + ", Email: " + email);}} catch (SQLException e) {e.printStackTrace();}}
}

四、执行SQL插入和更新

您也可以使用 StatementPreparedStatement 对象执行 SQL 插入和更新操作。

示例代码:

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;public class InsertUpdateExample {public static void main(String[] args) {try {Connection connection = DatabaseConnection.getConnection();PreparedStatement preparedStatement = connection.prepareStatement("INSERT INTO users (username, email) VALUES (?, ?)")) preparedStatement.setString(1, "john");preparedStatement.setString(2, "john@example.com");int rowsInserted = preparedStatement.executeUpdate();if (rowsInserted > 0) {System.out.println("A new user was inserted successfully!");}} catch (SQLException e) {e.printStackTrace();}}
}

五、执行SQL删除

当需要删除数据库中的记录时,可以使用 SQL 中的 DELETE 语句。下面是使用 Java 执行 DELETE 操作的示例代码。

示例代码:

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;public class DeleteExample {public static void main(String[] args) {try {Connection connection = DatabaseConnection.getConnection();PreparedStatement preparedStatement = connection.prepareStatement("DELETE FROM users WHERE id = ?")) // 设置要删除的记录的 IDint userIdToDelete = 1;preparedStatement.setInt(1, userIdToDelete);// 执行删除操作int rowsDeleted = preparedStatement.executeUpdate();if (rowsDeleted > 0) {System.out.println("User with ID " + userIdToDelete + " has been deleted successfully!");} else {System.out.println("No user found with ID " + userIdToDelete);}} catch (SQLException e) {e.printStackTrace();}}
}

六、注意事项

  • 在使用完数据库连接后,务必关闭连接,以释放资源。
  • 使用 try-with-resources 来确保资源被正确关闭,从而避免资源泄漏。
  • 在生产环境中,避免在代码中硬编码数据库连接信息,可以使用配置文件或者环境变量来管理敏感信息。

这些是使用 Java 连接和操作 MySQL 数据库的基本步骤和示例代码。您可以根据自己的需求进一步扩展和优化这些代码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/819682.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Navicat for MySQL 使用基础与 SQL 语言的DDL

一、目的: Navicat for MySQL 是一套专为 MySQL 设计的高性能数据库管理及开发 工具。它可以用于任何版本 3.21 或以上的 MySQL 数据库服务器,并支持大 部份 MySQL 最新版本的功能,包括触发器、存储过程、函数、事件、视图、 管理用户等。…

VMware配置CentOS 7 并实现ssh连接

Vmware 17下载地址 ***永久许可证:***5Y012-8HL8P-0J8U0-032Q6-93KKF CentOS 7 下载地址 一、配置CentOS 如下 创建新的虚拟机,选择典型,点击下一步 选择上述下载镜像存储位置,选择镜像,点击下一步 3.填写相关信息…

动态规划专练( 279.完全平方数)

279.完全平方数 给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。 完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数,而 …

微信小程序wx.getLocation 真机调试不出现隐私弹窗

在小程序的开发过程中,首页中包含要获取用户地理位置的功能,所以在这里的onLoad()中调用了wx.getLocation(),模拟调试时一切正常,但到了真机环境中就隐私框就不再弹出,并且出现了报错&#xff0…

智能生活新体验:小米香薰加湿器技术解码

在现代家居生活中,科技与舒适性日益交织,智能家居产品成为提升生活品质的重要工具。小米香薰加湿器作为一款集科技与生活美学于一体的产品,其独特的设计和多功能性受到了广泛欢迎。今天,我们就来详细拆解这款融合了科技与香薰元素…

Sony Camera Remote SDK在Windows上的使用

Sony官方提供了相机遥控软件开发包,允许用户自行开发应用软件,实现对相机的远程控制,包括拍摄、监看和文件传输等。截至目前最新的版本是2024.4.12发布的1.12.00版本,下载链接如下:Camera Remote SDK | LICENSE AGREEM…

初学python记录:力扣706. 设计哈希映射

题目: 不使用任何内建的哈希表库设计一个哈希映射(HashMap)。 实现 MyHashMap 类: MyHashMap() 用空映射初始化对象void put(int key, int value) 向 HashMap 插入一个键值对 (key, value) 。如果 key 已经存在于映射中&#x…

SpringCloud之LoadBalancer自定义负载均衡算法,基于nacos权重

LoadBalancer基于Nacos权重自定义负载算法 ReactorLoadBalancer接口&#xff0c;实现自定义负载算法需要实现该接口&#xff0c;并实现choose逻辑&#xff0c;选取对应的节点 public interface ReactorLoadBalancer<T> extends ReactiveLoadBalancer<T> {Mono<…

VMware Workstation部署最新版OpenWrt 23.05.3

正文共&#xff1a;1456 字 51 图&#xff0c;预估阅读时间&#xff1a;2 分钟 我们之前介绍了如何在VMware Workstation上安装OpenWrt&#xff08;软路由是啥&#xff1f;OpenWrt又是啥&#xff1f;长啥样&#xff1f;在VMware装一个瞅瞅&#xff09;&#xff0c;也介绍了如何…

【计算机毕业设计】物流管理系统设计与实现——后附源码

&#x1f389;**欢迎来到琛哥的技术世界&#xff01;**&#x1f389; &#x1f4d8; 博主小档案&#xff1a; 琛哥&#xff0c;一名来自世界500强的资深程序猿&#xff0c;毕业于国内知名985高校。 &#x1f527; 技术专长&#xff1a; 琛哥在深度学习任务中展现出卓越的能力&a…

ubuntu16.04安装Eclipse C/C++

1.安装 JDK 官网源码安装 首先打开JDK官网&#xff0c;JDK1.8的下载网址为&#xff1a;https://www.oracle.com/cn/java/technologies/downloads/#java8-windows&#xff0c;进入到网址如下图所示&#xff1a; 向下滑动到 JDK1.8的下载界面&#xff0c;如下图所示&#xff1a…

3_2Linux中内核级加强型火墙的管理

### 一.Selinux的功能 ### 观察现象 ①当Selinux未开启时 在/mnt中建立文件被移动到/var/ftp下可以被vsftpd服务访问 匿名用户可以通过设置后上传文件 当使用ls -Z /var/ftp查看文件时显示"?" ps auxZ | grep vsftpd 时显示&#xff1a; - root 8546 0.0 0.0 26952 …

四.音视频编辑-音频混合-概述

引言 当我们在前两篇博客中成功地构建了一个媒体组合&#xff0c;并且略过了音频部分时&#xff0c;我们意识到了我们需要对这个项目进行更详细的探讨。在本篇博客中&#xff0c;我们将会展示如何创建一个包含视频轨道、配音音频轨道以及背景音频轨道的完整媒体组合。更进一步…

【GDAL-Python】1-在Python中使用GDAL读写栅格文件

文章目录 1-概要2.代码实现 1-概要 提示&#xff1a;本教程介绍如何使用 Python 中的 GDAL 库将栅格数据读取为数组并将数组另存为GeoTiff 文件 视频地址&#xff1a;B站对应教程 目标&#xff1a; &#xff08;1&#xff09;读写GeoTiff影像&#xff1b; &#xff08;2&…

centos 9 安装mysql 到系统指定目录

在CentOS 9上安装MySQL并将其安装到系统指定目录的步骤如下&#xff1a; 首先&#xff0c;确认已经正确配置了CentOS 9的网络连接。 打开终端并使用root用户登录。 添加MySQL Yum存储库。执行以下命令&#xff1a; dnf install -y https://dev.mysql.com/get/mysql80-communi…

深入理解Java内存模型(JMM)

Java内存模型&#xff08;JMM&#xff09;是每一位Java开发者必须了解的核心知识之一&#xff0c;特别是对于涉足并发编程的开发者来说&#xff0c;JMM是保证多线程程序正确执行的基石。JMM定义了线程与主内存之间的抽象关系&#xff0c;规定了如何通过内存来进行线程间的通信&…

Antd:在文本框中展示格式化JSON

要想将对象转换为格式化 JSON 展示在文本框中&#xff0c;需要用到 JSON.stringify JSON.stringify 方法接受三个参数&#xff1a; value&#xff1a;必需&#xff0c;一个 JavaScript 值&#xff08;通常为对象或数组&#xff09;要转换为 JSON 字符串。replacer&#xff1a…

MySql 安装,小白也可以学会成功安装的保姆级教程

MySql 安装 文章目录 MySql 安装1.Mysql下载1.1 访问下载链接1.2 选择合适版本1.3 下载安装包 2.MySql安装3.安装成功检测验证3.1 mysql自带控制台验证3.2 win系统控制台进入验证 4. mysql 配置path5. navicat 连接 mysql 1.Mysql下载 1.1 访问下载链接 MySQL Downloads 这里…

常用的权限模型介绍

概述 权限模型是一种用于定义和管理系统资源访问权限的规则集合。它规定了谁可以访问系统资源&#xff0c;以及在何种条件下可以访问。 常用的权限模型 DAC&#xff08;Discretionary Access Control&#xff09;&#xff1a;自主访问控制&#xff0c;是基于用户身份或组织属…

【自由看门狗配置及计算】

一、看门狗使用场景 看门狗是一个硬件计时电路&#xff0c;用来监测由软件故障导致的系统故障。 片上有两个看门狗定时器外设&#xff0c;自由看门狗定时器&#xff08;FWDGT也叫独立看门狗&#xff09;和窗口看门狗定时器&#xff08;WWDGT&#xff09;。 当嵌入式程序在运…