MySQL:基于 JDBC 实现增删改查(执行过程 + 源代码超详解)

JDBC实现增删改查(含所有代码) JDBC完整版实现增删改查,这里包含增删改查所有代码,还有对于每行代码详细的注释。 阅读详情
AI摘要

本文详细介绍了如何使用JavaJDBCAPI在MySQL数据库中进行增删改查操作,包括创建数据源、连接数据库、构建SQL命令、执行SQL并处理结果集,以及释放资源的过程。

目录

一、增:往数据库中增加数据

1、创建数据源

setUrl:

setUser:

setPassWord:

2、建立数据库连接

3、创建操作命令

1、创建 sql 命令

2、发送命令

4、执行 SQL 命令

5、释放资源

完整源码:

二、删:从数据库中删除数据

完整源码:

三、改:修改数据库中的数据

完整源码:

四、查:查询数据库中的数据

完整源码:


一、增:往数据库中增加数据

1、创建数据源

//1、创建"数据源" (DataSource)
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/work_0318?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource) dataSource).setUser("root");
        ((MysqlDataSource) dataSource).setPassword("1234");

setUrl:

 MySQL 数据库连接的 URL 参数格式如下:

jdbc:mysql://服务器地址:端口/数据库名?参数名=参数值

一般情况下,大家只有数据库名与我这里的不同,其他的都是相同的。

setUser:

用户名。一般情况下都是root。

setPassWord:

数据库密码。这里是大家自己设置的数据库的密码。

2、建立数据库连接

//2、与数据库服务器建立连接
        Connection connection = dataSource.getConnection();

需要注意!这边要选择第一个Connection,否则会报错!

在代码写完后会出现报错,这时我们只要声明一下异常即可解决。

3、创建操作命令

//3、创建能操作数据库的 sql 命令
        String sql = "insert into test values (18,'张三')";
        PreparedStatement preparedStatement = connection.prepareStatement(sql);
        

1、创建 sql 命令

        假设在一个 test(age int,name varchar(20)) 表格中插入数据,我们需要先构建一条能操作数据库的 sql 命令。

2、发送命令

Statement对象主要是将 SQL 语句发送到数据库中。

JDBC API 提供了三种Statement对象:

·Statement

用于执行不带参数的简单 SQL 语句

·PreparedStatement

用于执行带或不带参数的 SQL 语句

SQL 语句会预编译在数据库系统

执行速度快于 Statement 对象

·CallableStatement

用于执行数据库存储过程中的调用

实际开发中我们最常用的是 PreparedStatement 对象。

4、执行 SQL 命令

 //4、执行 SQL:把刚刚解析好的语句发送给数据库服务器
        //      返回值是一个int 类型的数,表明操作影响了几行
        int n = preparedStatement.executeUpdate();
        System.out.println("n = " + n);

掌握两种 SQL 的执行方法:

1、executeQuery()

方法执行后返回单个结果集,通常用于select语句

2、executeUpdate

方法执行后返回一个整数,指示受影响的行数。通常用于 update、insert、delete 语句

此时执行代码,我们就可以发现,表格会多出一条我们添加的数据,n的值为1。

              

5、释放资源

//5、释放资源 (先使用的后释放
        //   主要是释放 语句对象 和 连接对象,DataSource不需要释放
        preparedStatement.close();
        connection.close();

完整源码:

import com.mysql.cj.jdbc.MysqlDataSource;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class Insert_Demo {
    public static void main(String[] args) throws SQLException {
        //1、创建"数据源" (DataSource)
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/work_0318?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource) dataSource).setUser("root");
        ((MysqlDataSource) dataSource).setPassword("1234");

        //2、与数据库服务器建立连接
        Connection connection = dataSource.getConnection();

        //3、创建能操作数据库的 sql 命令
        String sql = "insert into test values (18,'张三')";
        PreparedStatement preparedStatement = connection.prepareStatement(sql);


        //4、执行 SQL:把刚刚解析好的语句发送给数据库服务器
        //      返回值是一个int 类型的数,表明操作影响了几行
        int n = preparedStatement.executeUpdate();
        System.out.println("n = " + n);

        //5、释放资源 (先使用的后释放
        //   主要是释放 语句对象 和 连接对象,DataSource不需要释放
        preparedStatement.close();
        connection.close();

    }
}

二、删:从数据库中删除数据

        基本操作还和增加数据中的一样,只是把sql命令操作修改一下。

完整源码:

import com.mysql.cj.jdbc.MysqlDataSource;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class Delete_Demo {
    public static void main(String[] args) throws SQLException {
        //1、创建数据源
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/work_0318?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource)dataSource).setUser("root");
        ((MysqlDataSource)dataSource).setPassword("1234");

        //2、和数据库服务器建立连接 (记得声明异常
        Connection connection = dataSource.getConnection();

        //3、构建操作数据库的 sql 语句
        String sql = "delete from test where name = '张三'";
        PreparedStatement preparedStatement = connection.prepareStatement(sql);

        //4、执行 SQL:把刚刚解析好的语句发送给数据库服务器
        //      返回值是一个int 类型的数,表明操作影响了几行
        int n = preparedStatement.executeUpdate();
        System.out.println("n = " + n);

        //5、释放资源
        preparedStatement.close();
        connection.close();
    }
}

三、改:修改数据库中的数据

        基本操作还和增加数据中的一样,只是把sql命令操作修改一下。

完整源码:

public class Update_Demo {
    public static void main(String[] args) throws SQLException {
        //1、创建数据源
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/work_0318?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource)dataSource).setUser("root");
        ((MysqlDataSource)dataSource).setPassword("1234");

        
        //2、与服务器建立连接 (记得声明异常
        Connection connection = dataSource.getConnection();
        
        //3、创建能操作数据库的 sql 语句
        //(将张三的年龄改为1 岁)
        String sql = "update test set age = 1 where name = '张三'";
        PreparedStatement preparedStatement = connection.prepareStatement(sql);

        //4、执行 SQL:把刚刚解析好的语句发送给数据库服务器
        //      返回值是一个int 类型的数,表明操作影响了几行
        int n = preparedStatement.executeUpdate();
        System.out.println("n = " + n);
        
        //5、释放资源
        preparedStatement.close();
        connection.close();

    }
}

执行前后:

四、查:查询数据库中的数据

        基本操作还和增加数据中的一样,只是把sql命令操作修改一下。这边还需要额外多出的就是一个结果集。

        需要注意:结果集会给出许多get方法,当你想查询的数据类型是什么方法的时候,就使用哪种get方法。

完整源码:

import com.mysql.cj.jdbc.MysqlDataSource;

import javax.sql.DataSource;
import java.sql.*;

public class Select_Demo {
    public static void main(String[] args) throws SQLException {
        //1、创建数据源
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/work_0318?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource)dataSource).setUser("root");
        ((MysqlDataSource)dataSource).setPassword("1234");

        //2、和数据库服务器建立连接
        Connection connection = dataSource.getConnection();

        //3、构建操作数据库的 sql 语句
        String sql = "select * from test";
        PreparedStatement preparedStatement = connection.prepareStatement(sql);

        //4、执行 sql
        //ResultSet 是结果集,拿到了一个表格一样的数据
        //我们遍历结果集就可以得到表格中的数据内容了
        ResultSet resultSet = preparedStatement.executeQuery();

        //5、遍历结果集合
        while (resultSet.next()) {
            //读取数据
            int age = resultSet.getInt("age");    //获取age列的数据
            String name = resultSet.getString("name");    //获取name列的数据
            System.out.println("age = "+age+" name = "+name);
        }

        //6、释放资源
        resultSet.close();
        preparedStatement.close();
        connection.close();
    }
}

运行结果:

     


        以上就是  MySQL:基于 JDBC 实现增删改查(执行过程 + 源代码超详解) 的全部内容了,希望能对您有所帮助!

JDBC中用控制台简单对数据库进行增删改查操作(IDEA.2023) 今天我们将探讨如何使用Java数据库连接(JDBC)在控制台上进行简单的增删改查操作。数据库是现代应用程序的重要组成部分,因此了解如何与其进行交互是非常有用的技能。JDBC是Java开发中使用最广泛的数据库API,它提供了一种标准的方式来连接和管理各种类型的数据库。在本文中,我们将介绍如何使用JDBC API连接到数据库,执行基本的增删改查操作,并关闭连接,以确保数据的安全性。无论您是新手还是有经验的开发人员,本文都将为您提供有用的信息和指导,让您能够轻松地在控制台上操作数据库。 阅读详情

相关推荐

Mysql 增删改查代码实现

1.数据库的基本操作 #显示所有数据库 show databases; #创建数据库语句 create database if not exists student; #语句后面最好加上字符编码,实际操作中基本上都是使用utf8字母编码,(但是在控制台中---默认编码是简体中文格式GBK) create database if not exists student charset=gbk #删除数据库语句 drop database if exists student; #显示如何创建数据库 show.

qq_45443193的博客 970

JDBC的增删改查

知不知道JDBC增删改查操作中只有查询需要处理结果集

二哈喇子! 5669

Android Studio 实现登录注册-源代码 (连接MySql数据库)

Android Studio 实现登录注册-源代码 (连接MySql数据库) Android Studio 实现登录注册-源代码 二(Servlet + 连接MySql数据库) [Android Studio 实现登录注册-源代码 三(Servlet + 连接MySql数据库)实现学生信息的查询 (JSON通信)] Android Studio 实现实现学生信息的增删改查 -源代码 四(Servlet + 连接MySql数据库) 一、创建工程 1、创建一个空白工程 2、随便起一个名称 3、设置网络连

m0_67402235的博客 6684

JDBC增删改查(超详细)

JDBC对数据库实现增删改查

m0_61160520的博客 5676

使用Spring Boot和JDBC实现MySQL数据库连接与操作

Apache Maven是一个广泛使用的项目管理和构建自动化工具,它利用一个中央仓库的概念来管理项目依赖。Maven通过一个名为pom.xml的项目对象模型(Project Object Model)文件来描述项目信息和依赖配置。在pom.xml文件中,开发者可以声明项目所需的外部库及其版本,Maven将会自动从中央仓库下载这些依赖到本地仓库。Maven的依赖管理机制支持依赖范围(如编译、测试、运行时范围)和依赖传递(transitive dependencies),即依赖自身可能还需要其他库。

m0_74823842的博客 1731

JDBC和MVC模式整合实现MySQL数据库操作

Java Database Connectivity (JDBC) 是一个Java API,它为使用Java语言操作数据库提供了一种标准方法。自1996年首次推出以来,JDBC一直作为连接Java应用程序与各种数据库的桥梁,实现了数据库无关性,支持多种关系数据库管理系统。MVC(Model-View-Controller)架构模式是一种广泛应用于软件工程中的设计模式,最初由Trygve Reenskaug在1979年提出,为应用程序开发提供了一种分离关注点的方法。

weixin_36300623的博客 811

【Java】JDBC+Mysql+Swing可视化界面实现对学生表的增删改查|练手小项目

本篇博客的核心是基于Mysql数据库,使用JDBC对数据库(这里以简单的学生表为例)进行增删改查,且用Java自带的Swing图像包,实现简单的可视化窗口界面。这里是我用Navicat创建好的学生表:用于处理数据库操作:数据库连接、对会话窗口文件封装的增删改查的方法接口:主窗口界面,主要是四个按键:增删改查,并且定义四个案件的触发事件:创建对应处理操作的会话窗口。

Yaoyao2024的博客 2311

Python小白也能玩转迅投QMT量化交易?手把手教你从安装到第一个策略

本文为零基础Python用户提供了上手迅投QMT量化交易平台的完整指南。从Python 3.6环境配置、QMT客户端获取安装,到核心概念讲解,并手把手教你编写并回测一个经典的双均线交易策略,帮助初学者快速迈出量化交易的第一步。

weixin_29103191的博客 763

jdbc+mysql实现增删改查

jdbc+mysql实现增删改查

qq_45732872的博客 1618

避坑指南:群晖DSM 7.X挂载NTFS硬盘,为什么你的SATA口不行?从原理到实战一次讲清

本文深入解析群晖DSM 7.X系统挂载NTFS硬盘的底层原理与实战排查方法,揭示SATA接口权限配置的关键参数(如esataportcfg和internalportcfg),并提供安全修改端口配置的详细步骤。针对不同型号群晖NAS的配置差异,给出替代方案与常见故障排查技巧,帮助用户解决NTFS硬盘挂载问题。

weixin_26757925的博客 257

hi3516cv610在PQStream上实现拉出图像,windows和板端操作记录

PQStream拉出图像

weixin_51838255的博客 730

JavaWeb连接(JDBC)数据库实现增删改查

(2)、创建SourceManageDAOByJDBCImpl实现类。(2)、SourceManageDAOByJDBCImpl类实现。(2)、SourceManageDAOByJDBCImpl类实现。(2)、SourceManageDAOByJDBCImpl类实现。(2)、SourceManageDAOByJDBCImpl类实现。(2)、SourceManageDAOByJDBCImpl类实现。(1)、SourceManageDAOByJDBC接口实现。(1)、创建数据库(source_db)

码字不易,大家的支持就是我坚持下去的动力 2445

LABVIEW学习之MODBUS-TCP通讯

LABVIEW学习之MODBUS-TCP通讯 1,MODBUS-TCP通讯介绍: MODBUS通讯是工业上面经常用到的一种通讯协议。该协议的原理及介绍不在此累述,下面直接介绍LABVIEW对此协议的应用。 2,MODBUS通讯所需的函数: 安装了DSC模块之后可以在数据通信内找到相关函数 3 ,主VI 主要思路就是使用状态机来进行连接 读取 写入 断开。使用枚举类型来选择状态: 1,连接 2,写入多个M继电器: 3,写入单个M继电器 4,写入双字节D...

风动9527的博客 2万+

java jdbc连接mysql数据库实现增删改查操作

这篇文章主要为大家详细介绍了java jdbc连接mysql数据库实现增删改查操作,需要的朋友可以参考下 jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打交道非常基础的一个知识,也是比较接近底层的,在实际的工作中大家用得更多的其实还是比较成熟的框架,例如Hibernate、Mybatis。

ss5131421的博客 1万+

基于STM32F103的二维码识别项目——OV7670篇

此系列用于记录做过的项目,这篇文章介绍基于STM32F103的二维码识别项目之OV7670FIFO模块。

beyourself_he的博客 4289

【数据集6】全球人工不透水面积GAIA(清华数据)

全球人工不透水面GAIA简介及其应用

WW、forever的博客 3804

Java Web实验九:使用JDBC完成数据的增删改查

本次实验要求创建数据库表user表,包括属性id(主键)、name、password、email、birthday等字段,其中id为学号,创建数据库表后使用JDBC实现对数据库中用户信息的增加(JdbcInsertTest.java)、删除(DeleteUserTest.java)、修改(UpdateUserTest.java)和查询(FindAllUserTest.java和FindUserByIdTest.java)操作,要求数据库表中有一行信息为学生本人的学号姓名。查询用户数据(查看所有)

m0_74824112的博客 523

手把手教你学PCIE--所有 PF(Physical Function)共同管理和分配 VF

但具体如何分配和使用 VF 取决于硬件设计、驱动程序配置以及实际应用场景。

MHD0815的博客 1464

java+mysql实现jdbc连接数据库进行增删改查实现简单的信息管理

基于Java swing和mySQL实现学生信息管理系统: 实现对数据库的增删改查,自己做着玩玩,分享给大家,可以应付个大作业啥的 完整源代码:https://download.youkuaiyun.com/download/qq_44864585/12923692 首先,基于Java swing界面做好界面 然后进行数据库的连接 if(ip.equals("")) { console.append(df.format(new Date())+"\t服务器地址不能为空,请输入服务器地址\n"); JO

qq_44864585的博客 644

企业AI数据资产评估的自动化工具:AI应用架构师的使用指南

在AI驱动的企业数字化转型中,数据资产是支撑模型训练、业务决策的核心燃料。然而,80%的AI项目失败源于数据问题——低质量数据导致模型偏差、未评估的风险引发合规危机、价值不明确的数据浪费资源。手动数据资产评估效率低、易出错,无法满足规模化AI应用需求。本文将以AI应用架构师的视角,拆解企业数据资产评估的核心逻辑,用"餐厅选食材"的生活化比喻解释复杂概念,结合自动化工具的技术原理与实战案例,教你如何从0到1搭建数据资产评估体系。无论是数据质量检测、价值量化还是风险防控,你都能找到可落地的工具方案与实践步骤。

2502_91592937的博客 1629

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

jdbc实现mysql数据库_java jdbc连接mysql数据库实现增删改查操作

原文链接:https://www.jb51.net/article/88300.htmjdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打交道非常基础的一个知识,也是比较接近底层的,在实际的工作中大家用得更多的其实还是比较成熟的框架,例如Hibernate、Mybatis。但是作为这些成熟框架的底层的jd...

weixin_39627699的博客 455

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

JSP + Servlet + JDBC + Mysql 实现增删改查 课程管理系统

1.项目目录结构 2.项目环境 Eclipse IDE MYSQL jdk tomcat jar包 3.数据库相关配置 先创建一个course的数据库名,然后在建立一个course的表 要注意将id字段 自动递增 4.源代码 1.Course.java package com.hjf.entity; public class Course { private in...

zlj的博客 2330

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

JDBC详解

jdbc就是Java语言连接数据库,学习数据库和Java后,再学习jdbc,我们可以清楚如何把前面所学联系一起,本文带你从一个技术的出现到原理到实战,层层递进,让你领会其中的方方面面,并且对以后的框架也有帮助

梦想也许遥不可及,但重要的是追梦的过程,用博客记录自己的成长,记录自己一步一步向上攀登的印记 1660
上一篇: CPU是如何执行指令的(实例讲解)
下一篇: MySQL: JDBC的依赖配置(数据库驱动包+配置教程)
煎饼小狗
博客等级 码龄4年 5499粉丝 83原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值