在Java中操作MySQL(JDBC)

article/2025/8/21 5:52:54

准备工作

  1. idea
  2. mysql 官方的 jdbc 驱动

先在 idea 中建立一个新的 java 工程

直到这一步之前,一直按下一步就行了

在这里插入图片描述
把名字改改直接 finish

在这个工程下面建立一个名字为 lib 的空文件夹
在这里插入图片描述

去官方下载依赖的包

https://dev.mysql.com/downloads/connector/j/
在这里插入图片描述
选择下面那个

下载之后,得到的是一个 zip 文件,把 zip 里面的东西解压到刚刚创建的 lib 文件夹中(记得先找到刚刚那个工程创建时设置的存放位置)

在这里插入图片描述
右键这个文件夹,选择下面蓝色的那个选项
在这里插入图片描述

然后在弹出的窗口中点击 ok
在这里插入图片描述
后面还会弹出一个窗口,也点击 OK ,就可以了

开始操作

先在 src 文件夹中建立 Java 类,然后开始操作

连接 mysql 和关闭连接

Connection 是 Java 中的一个类,专门用于和其他的东西进行连接

// 先引入需要的包
import java.sql.*;public class Exercise {public static void main(String[] args){// Connection 是 Java 中的一个类,专门用于和其他的东西进行连接Connection connect = null;try {// 加载驱动,固定语句// 使用这个必须处理异常Class.forName("com.mysql.jdbc.Driver");}catch (ClassNotFoundException e){System.out.println("Could not loading Driver");}try {// 下面这一行也是固定语句,getConnection括号里面的模式:// “jdbc:mysql://数据库的地址(mysql server 的地址)/数据库名字?(要mysql中操作的数据库的名字)”// 后面再 + 上用来登录的用户名和密码// 同时,使用这个函数,必须处理异常connect = DriverManager.getConnection("jdbc:mysql://127.0.0.1/productdb?" + "user=root&password=123456");if (connect != null) {System.out.println("Connect successfully!");}} catch (SQLException e) { // 这个getConnection 规定必须抛出异常e.printStackTrace();}finally {try {// 关闭连接connect.close(); // 规定必须处理异常System.out.println("Shutdown connection successfully!");}catch (SQLException e){e.printStackTrace();}}}
}

不要这么早就被这么长的代码给劝退了,实际上不需要写这么多,因为 idea 会帮你自动补全很大一部分,catch 里面的东西我几乎就没写过,而且 catch 里面的大多数都是英文的字面意思

2022.4.10 4:12 pm 新增:

这种是老方法:Class.forName(“com.mysql.jdbc.Driver”);
如果使用这个加载驱动的话,会报这个错误:

Loading class com.mysql.jdbc.Driver'. This is deprecated. The new driver class is com.mysql.cj.jdbc.Driver’. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.

而且,在官方最新的文档中,也是使用下面这种方法进行连接
Class.forName(“com.mysql.cj.jdbc.Driver”);
在 mysql 和 jdbc 中间增加了一个 cj

使用 mysql 内的语句

使用 Statement 类的对象向 mysql 发送 sql 语句进行操作

使用 ResultSet 类的对象接收操作之后得到的结果

先上 mysql 的表
在这里插入图片描述
再进行操作

// 先引入需要的包
import java.sql.*;public class Exercise {public static void main(String[] args){// Connection 是 Java 中的一个类,专门用于和其他的东西进行连接Connection connect = null;// Statement 类的对象向 mysql 发送 sql 语句进行操作Statement stmt = null;// ResultSet 类的对象接收操作之后得到的结果ResultSet rs = null;try {// 加载驱动,固定语句// 使用这个必须处理异常Class.forName("com.mysql.jdbc.Driver");}catch (ClassNotFoundException e){System.out.println("Could not loading Driver");}try {// 下面这一行也是固定语句,getConnection括号里面的模式:// “jdbc:mysql://数据库的地址(mysql server 的地址)/数据库名字?(要mysql中操作的数据库的名字)”// 后面再 + 上用来登录的用户名和密码// 同时,使用这个函数,必须处理异常connect = DriverManager.getConnection("jdbc:mysql://127.0.0.1/productdb?" + "user=root&password=123456");if (connect != null) {System.out.println("Connect successfully!");}try {// 先创造一个可以给 mysql 发送 sql 语句的stmt = connect.createStatement();// executeQuery 用于发送 sql 语句,括号内的就是 sql 语句rs = stmt.executeQuery("select * from user");// 输出数据的用法//rs.next(); 表示下一个得到的结果数据集,如果不为空,就继续输出// 每一次输出完之后,会自动切换到下一个数据集,相当于换行,select * from 表,这样操作一次看到结果// 的图就知道是为什么了while (rs.next()){// rs.get数据类型(括号内是列数(第 n 列))System.out.println(rs.getInt(1));System.out.println(rs.getString(2));System.out.println(rs.getString(3));System.out.println(rs.getString(4));System.out.println(rs.getString(5));System.out.println(rs.getString(6));System.out.println(rs.getTimestamp(7));System.out.println(rs.getDate(8));}}catch (SQLException e){ // 老规矩,必须处理异常e.printStackTrace();}} catch (SQLException e) { // 这个getConnection 规定必须处理异常e.printStackTrace();}finally {try {// 关闭连接connect.close(); // 规定必须处理异常System.out.println("Shutdown connection successfully!");}catch (SQLException e){e.printStackTrace();}}}
}

其他的 sql 语句也是同样的道理


http://chatgpt.dhexx.cn/article/K09K4EUA.shtml

相关文章

java操作mysql数据库

java操作mysql数据库 学习到数据库操作这一章,遇到了很多问题,只能说无论什么时候,用什么工具来操作数据库,都不是一件简单的事情。 简单记录一下 数据库连接 先看代码界面 要连接数据库,首先需要导入mysql依赖包&…

用Java操作MySQL

用Java操作MySQL目录 一、创建数据库1、建库2、建表 二、开始准备jdbc1、导入mysql驱动jar包2、开始写jdbc代码 三、那就运行吧附:最终代码DBUtilMaindb.properties 一、创建数据库 打开Navicat(我用的是DataGrip)的查询控制台 1、建库 sq…

c++ opencv 身份证OCR识别:前期数据训练库准备(tesseractOCR)

前言:本文已经在个人博客更新排版和讲解【传送门】 整个教程已经在有道云写好了,在博客要重新把每个图片再上传一次有点累,先截了图直接看吧!如果有需要有提供word版本可以下载 https://download.csdn.net/download/stopping5/11…

身份证正反面识别,身份证扫描识别,二代身份证OCR识别,OCR极速识别身份证所有信息正反面均可。离线无需联网,极速秒扫。

项目说明 极速识别二代身份证、驾驶证、护照 (无需联网,离线秒扫,极速识别)身份证所有信息, 包含姓名、性别、出生年月、详细地址,正反面。不需要联网即可离线识别身份证所有信息包括新疆少数民族身份证,识别速度快,识…

如何对接身份证OCR?

【身份证OCR文字识别】身份证OCR识别-身份证识别-身份证-OCR文字-身份证OCR文字-身份证OCR-身份证OCR图像识别【最新版】_图像识别_身份证识别_OCR-云市场-阿里云 身份证OCR免费体验 Java代码如下 public static void main(String[] args) {String host "https://idcar…

实名二代身份证OCR识别

在银行、信用社、航空、保险、电信等部门单位办理手续或证件时,常需要身份证件,但业务人员手工录入速度慢、办公效率太低是一大亟需解决的问题,通常要先通过扫描或拍照,来获取身份证上面的头像,然后再手工填写用户的身…

Opencv实现身份证OCR识别

Opencv 配置IDEA可参考:https://blog.csdn.net/zwl18210851801/article/details/81075781 opencv位置: OpencvUtil类: package com.x.common.utils;import org.opencv.core.*; import org.opencv.core.Point; import org.opencv.imgcodecs.…

身份证OCR实名认证接口

人工智能,身份证,OCR实名验证 一、接口介绍 自动识别及快速提取二代居民身份证正反面所有字段,包括姓名、性别、民族、出生日期、住址、身份证号、签发机关、有效期限,实时联网核查校验是否一致。对URL网络图片或base64信息进行…

身份证OCR识别SDK

一、身份证OCR识别SDK应用背景 随着Android、IOS智能手机的普及,5G通信技术的发展,移动互联迎来了爆发式增长,越来越多的公司都推出了自己的移动APP、小程序等应用。这些应用多数都涉及到个人身份证信息的输入认证(即实名认证&…

阿里云智能身份证OCR文字识别

智能身份证OCR文字识别 做的项目里面涉及到了身份证识别输入的真实姓名与身份证号码是否匹配功能,于是在阿里云接了智能身份证OCR文字识别API,登录阿里云找到对应的产品,如下图 购买使用然后生成对应的APPcode。 使用的demo有蛮多&#xff0c…

如何用 身份证OCR 接口进行快速开发

最近公司项目有一个身份证文字识别的小需求,想着如果用现成的API就可以大大提高开发效率,在网上的API商店搜索了一番,发现了 APISpace,它里面的身份证OCR非常符合我的开发需求。 身份证OCR,传入身份证照片&#xff0c…

离线身份证OCR识别

离线身份证ocr识别简介 离线身份证ocr识别SDK可支持Android、iOS主流移动操作系统,android平台提供jar包,ios提供静态库.a文件。APP集成离线身份证ocr识别SDK后,用户采用手机、平板电脑对身份证进行拍摄识别即可自动识别身份证信息。 离线身…

身份证OCR识别

本文章来源于自己的学习图像处理以及识别过程中的一些经验,开发了一个OCR识别身份证程序,此程序虽不够完美但有一定的参考价值,CSDN上本人也将提供源代码,对身份证OCR识别整个过程的一个梳理。 程序依赖库,OpenCV3.20…

4款堪称手机神器的APP,每个都可以玩转手机,尤其是第三个

每个人的手机中都会一到两个永远不会卸载的APP,有些APP可以让你在工作中事半功倍,有些可以让你打发时间,并且还可以学习到不同的知识。下面就为大家介绍几个即可以娱乐还可以学习的APP。 一周计划 对于记忆力不好的小伙伴,可以在…

安卓手机软件开发_安卓最牛的下载神器,快收藏起来自己偷偷用

小编一直在想,有木有一款安卓手机电影下载神器让用户在一个手机 App 软件里,既能播放 BT 文件,又能下载网盘文件呢? 谁又不想要一个迅雷百度云网盘资源网站,三合一的手机电影下载神器呢? 其实小编很早就注意…

电脑复制手机粘贴神器-快贴使用方法

首先电脑下载快贴:https://home.clipber.com/index.html?styleorange 然后手机应用市场下载app:快贴(安卓苹果都可以下载) 回到电脑上把下载的软件安装好,用邮件注册登录,设置: 第二步点右下角任务栏 快…

android代码让手机降温,手机降温神器下载 手机一键降温神器 for Android v1.0.1 安卓版 下载-脚本之家...

对于经常使用手机的朋友来说,肯定手机会非常烫,如果手机持续高温的话就会降低电池的生命周期,所以,为手机降温是非常有必要的。今天小编带来了这款手机一键降温神器就不错,这是一款可以帮助用户快速降低手机温度的工具…

安卓手机垃圾清理神器!彻底清理你的手机垃圾!手机瞬间飞起来!

使用安卓手机的小伙伴经常会遇到一个令人头疼的问题“手机时间一久,各种缓存数据和垃圾文件会越来越多,不及时清理的话,不见占用储存空间,而且还会拖慢手机的运行速度”,大家可能使用过很多垃圾清理软件,清…

android wear阅读器,手机软件有哪些神器?

根据使用场景分类吧,给大家介绍几款私藏的神器: 一、久坐提醒,健康第一 如今,越来越多的事情可以在电脑上完成,学生族和办公族们,一不小心就会在电脑前坐上整一天。久坐带来的一个最直接感受,就…

手机最强Python编程神器,在手机上运行Python

手机编程软件有很多,大部分都很难使用,操作不灵活,甚至不能安装第三方库。 尝试安装了很多Python移动编程软件,发现了很多问题,不是编码效率低就是各种bug。今天,来自一位python编程小哥指导,向…