用JDBC执行DML语句

article/2025/9/30 13:32:32

        在已经建立数据库链接的基础上,如何执行SQL语句呢?这时候,我们就会用到Statement对象和ResultSet对象

Statement

        对于增删改操作,我们只需要用到Statement对象,用法如下:

        总的五步骤:

  1. 声明Statement变量:Statement stmt = null;

  2. 获取Statement对象:stmt = conn.createStatement();

  3. 编写sql语句:String sql = "update emp set sal=sal+100 where ename='tony'";

  4. 执行sql语句:int result = stmt.executeUpdate(sql);

  5. 关闭Statement对象,释放资源:stmt.close();

        用法如下:

1、Delete

public class TestStatementDelete {public static void main(String[] args) {String url = "jdbc:oracle:thin:@192.168.200.128:1521:XE";String username = "HR";String password = "123456";Connection con = null;Statement stm = null;try {Class.forName("oracle.jdbc.driver.OracleDriver");con = DriverManager.getConnection(url, username, password);System.out.println("连接成功!");stm = con.createStatement();String sql = "delete from mark where studentno='666'";int result = stm.executeUpdate(sql);if (result > 0) {System.out.println("删除成功");}else{System.out.println("删除失败");}} catch (Exception e) {e.printStackTrace();} finally {try {if (stm != null) {stm.close();}if (con != null) {con.close();}} catch (Exception throwables) {throwables.printStackTrace();}System.out.println("断开连接…");}}
}

2、Update

public class TestStatementUpdate {public static void main(String[] args) {// 数据连接信息String url = "jdbc:oracle:thin:@192.168.200.128:1521:XE";String username = "HR";String password = "123456";Connection connection = null;Statement statement = null;try {// 1、加载驱动Class.forName("oracle.jdbc.driver.OracleDriver");// 2、创建连接对象connection =DriverManager.getConnection(url, username, password);// 3、进行相关操作(更改学号为1001学生的电话号码)// 3.1 准备sql语句String sql = "update student set phone='123456' where studentno='1001'";// 3.2 创建statement对象statement = connection.createStatement();// 3.3 执行sql语句int result = statement.executeUpdate(sql);if (result > 0) {System.out.println("修改成功");} else {System.out.println("修改失败");}} catch (Exception e) {e.printStackTrace();} finally {// 4、释放资源try {if (statement != null) {statement.close();}if (connection != null) {connection.close();}} catch (Exception e) {e.printStackTrace();}System.out.println("断开连接…");}}
}

3、Inserte

public class TestStatementInsert {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);// 数据库连接信息String url = "jdbc:oracle:thin:@192.168.200.128:1521:XE";String username = "HR";String password = "123456";Connection connection = null;Statement statement = null;try {// 1.加载驱动Class.forName("oracle.jdbc.driver.OracleDriver");// 2.创建连接对象connection =DriverManager.getConnection(url, username, password);System.out.println("连接成功!");// 3.新增学生信息// 3.1 准备sql语句System.out.print("请输入年级编号:");int gradeId = scanner.nextInt();System.out.print("请输入年级名称:");String gradeName = scanner.next();StringBuilder sb = new StringBuilder();sb.append("insert into grade values(");sb.append(gradeId);sb.append(",'");sb.append(gradeName);sb.append("')");// 3.2 创建statement对象statement = connection.createStatement();// 3.3 执行sql语句int result = statement.executeUpdate(sb.toString());if (result > 0) {System.out.println("插入成功");} else {System.out.println("插入失败");}} catch (Exception e) {e.printStackTrace();} finally {try {// 4.释放资源if (statement != null) {statement.close();}if (connection != null) {connection.close();}} catch (Exception e) {e.printStackTrace();}}System.out.println("断开连接…");}
}

ResultSet

        在上述操作中,不需要返回结果的查看;当我们需要对查询结果进行操作时,ResultSet派上了用场

        ResultSet的用法如下

         举个栗子

public class TestStatementResultSet {public static void main(String[] args) {String url = "jdbc:oracle:thin:@192.168.200.128:1521:XE";String username = "HR";String password = "123456";Connection con = null;Statement stm = null;ResultSet rs = null;try {Class.forName("oracle.jdbc.driver.OracleDriver");con = DriverManager.getConnection(url, username, password);System.out.println("连接成功!");String sql = "select * from grade";stm = con.createStatement();rs = stm.executeQuery(sql);List<Grade> gradeList = new ArrayList();Grade grade = null;while (rs.next()) {grade = new Grade();grade.setGradeId(rs.getInt("gradeid"));grade.setGradeName(rs.getString("gradename"));gradeList.add(grade);}System.out.println("数据已保存至本地,查询结果如下:");
//            for (Grade g : gradeList) {
//                System.out.println(g.getGradeId() + "-" + g.getGradeName());
//            }System.out.println(gradeList);} catch (Exception e) {e.printStackTrace();} finally {try {// 4.释放资源if (rs != null) {rs.close();}if (stm != null) {stm.close();}if (con != null) {con.close();}} catch (Exception e) {e.printStackTrace();}System.out.println("断开连接!");}}
}


http://chatgpt.dhexx.cn/article/7ZV3j5lB.shtml

相关文章

【解决方案 二十六】DateGrip一键生成DML语句用于上线

在开发环境和测试环境创建好数据表后&#xff0c;我们想实现一键将建表语句及建索引语句等发到线上&#xff0c;有什么好的方式么&#xff1f;DateGrip可以轻松完成这个任务&#xff0c;例如我们想要将person表导出为建表语句 可以在要处理的表右键&#xff1a; 点击SQL Gene…

MySQL 语句DML,mysql中的DML语句

mysql中的DML语句 mysql中的DML语句 mysql 中的DML语言1.insert delete与truncate 3.update 1.insert insert 的作用是向表中添加一行或多行信息&#xff0c;语法为&#xff1a; insert into 表名(列名1,列名2...) values (值1,值2...),(值1,值2...)...; 上面语法中&#xff0c…

DML语句

DML语句是数据管理语句&#xff0c;是管理数据库中存放的数据的 可以增、删、改、查数据库中表的信息 一&#xff1a; 增加表的语法&#xff1a; insert into 表&#xff08;字段1&#xff0c;字段2&#xff0c;字段3…&#xff09;values(值1,值2,值3…) 双击student表格&am…

mysql 查看 dml,MySQL系列-DML语句

MySQL系列-DML语句 运维少年 运维少年 系列文章说明 MySQL系列文章包含了软件安装、具体使用、备份恢复等内容&#xff0c;主要用于记录个人的学习笔记&#xff0c;主要使用的MySQL版本为5.7.28&#xff0c;服务器系统版本为CentOS 7.5。本章节为DML语句使用&#xff0c;其中不…

DML语句,ORACLE数据库

DML语句 目录 DML语句定义 DML语句:数据操纵语句&#xff0c;针对的是数据&#xff0c;经过DML语句的操作&#xff0c;能够对数据源中的数据内容进行调整&#xff0c;包括数据的增加、删除、更新。 争议&#xff1a;SELECT是否属于DML语句&#xff1f; 按照DML语句的定义&a…

mysql中基本的DML语句

1.DML语句的含义 数据操纵语言&#xff08;DML&#xff09; 由 DBMS 提供&#xff0c;用于让用户或程序员使用&#xff0c;实现对数据库中数据的操作。基本的 DML 分为两类四种&#xff1a;检索&#xff08;查询&#xff09;和更新&#xff08;插入、删除、修改&#xff09;。…

MySQL基础之DML语句

DML 语句 DML(Data Manipulation Language)语句:数据操纵语句。 用途:用于添加、修改、删除和查询数据库记录,并检查数据完整性。 常用关键字:insert、update、delete、select等。 DML 操作的对象是库表的数据(记录)。 主要包括插入(insert)、更新(update)、删…

CentOS下Tomcat的安装及配置教程

下载Tomcat&#xff0c;官网地址&#xff1a;https://tomcat.apache.org/download-80.cgi。 在 /usr/local 目录下新建 tomcat 文件夹&#xff0c;并进入。 cd /usr/local mkdir tomcat cd tomcat打开 Xftp&#xff0c;将 Tomcat 压缩文件拖拽到 刚创建的tomcat 目录。 解压…

Tomcat 实用安装教程

Tomcat的介绍 Tomcat是Apache 软件基金会&#xff08;Apache Software Foundation&#xff09;的Jakarta 项目中的一个核心项目&#xff0c;由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持&#xff0c;最新的Servlet 和JSP 规范总是能在Tomcat 中得…

Apache Tomcat 安装配置图文详细教程

一、安装JDK步骤及配置JDK环境变量步骤省略。 二、安装Tomcat(提前请先安装JDK) 1.下载好压缩包后&#xff0c;直接解压至某一目录下&#xff0c;目录中不能包含中文。解压后如图所示&#xff1a; 2.将此文件夹拷贝到你常用的根目录下。这样就算安装好了&#xff01; 3.接下来…

windows下Tomcat详细安装配置教程

springboot用习惯后&#xff0c;几乎都要忘记了tomcat是个啥了&#xff0c;本文就不讲那些理论类的知识了&#xff0c;直接看看怎么安装使用tomcat。 一、版本选择 首先我们需要选好版本&#xff0c;可以参考官方的版本说明&#xff1a;https://tomcat.apache.org/whichversio…

Linux安装tomcat详细教程

Tomcat是Apache 软件基金会&#xff08;Apache Software Foundation&#xff09;的Jakarta 项目中的一个核心项目&#xff0c;由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持&#xff0c;最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现&#…

Tomcat安装及配置教程(超详细的图文教程)

Tomcat安装及配置教程&#xff08;超详细的图文教程&#xff09; 1.什么是Tomcat Tomcat 服务器是一个免费的开放源代码的Web 应用服务器&#xff0c;属于轻量级应用服务器&#xff0c;在中小型系统和并发访问用户不是很多的场合下被普遍使用&#xff0c;是开发和调试JSP 程序的…

安装Tomcat步骤

安装Tomcat步骤 1、tomcat官网下载http://tomcat.apache.org/ 2、解压后右键以管理员身份运行&#xff0c;页面出来后点击下一步 3、同意协议&#xff0c;然后点击I Agree 4、系统默认选中的前三个不要管&#xff0c;直接点击下一步next 5、配置页面&#xff0c;要求输入端…

机器学习——聚类——密度聚类法——OPTICS

目录 理论部分1.1 提出背景1.2 OPTICS算法1.2.1 基本概念1.2.2 算法流程1.2.3 优点1.2.4 缺点 1.3 其它算法 代码部分2.1 自行实现2.2 sklearn实现 理论部分 1.1 提出背景 在DBSCAN算法中&#xff0c;需要人为确定领域半径 ϵ \epsilon ϵ和密度阈值 M M M,同时该算法的性能又…

Ansys Zemax | 眼科镜片设计

本文介绍了眼科镜片的设计原理&#xff0c;并讨论了镜片、眼睛和视觉环境中对镜片设计十分关键的参数&#xff0c;其中包括了常见镜片材料&#xff08;涵盖了玻璃和聚合物&#xff09;的玻璃目录。本文不包括渐进式镜片设计&#xff0c;尽管渐进式镜片时常根据一般的镜片曲率原…

OPTICS聚类算法详解

欢迎关注”生信修炼手册”! DBSCAN算法对于邻域半径eps和最小样本数minPoints这两个参数比较敏感&#xff0c;不同的参数取值会产生不同的聚类效果。为了降低参数设置对聚类结果造成的不稳定性&#xff0c;在DBSCAN算法的基础上&#xff0c;提出了OPTICS算法&#xff0c;全称如…

密度聚类:OPTICS算法简单易懂版

前几天写了一篇详解版&#xff0c;感觉可能太详细了阅读量不高&#xff0c;所以修改精简成这篇。 很多人不理解OPTICS算法绘出的图该怎么理解。为什么波谷就算一类&#xff0c;有个波峰又算另一类了&#xff0c;本篇在第三部分的第2、3节详细讲这个是什么判别分类的。 本篇会添…

optics算法

1 简介 随着数据爆发式增长&#xff0c;分析数据从而提取隐藏在数据中的信息变的越来越重要。聚类分析是数据分析的一个主要方法&#xff0c;聚类(clustering)是将数据对象进行分类的过程&#xff0c;使同一类中的对象之间具有很高的相似度&#xff0c;而不同类中的对象高度相…

OptiSystem应用:激光雷达系统设计

简介&#xff1a;激光探测和测距系统(LIDAR) 以下四个示例设计演示了如何使用OptiSystem模拟光检测和测距系统&#xff08;LIDAR&#xff09;&#xff0c;具体如下&#xff1a; □ 激光脉冲飞行时间测量 □ 相移测距 □ 调频连续波&#xff08;FMCW&#xff09;直接检测测…