Java程序设计——execute()与executeUpdate()(JDBC编程)

2023-11-02

目录

一、execute()

二、executeUpdate


一、execute()

execute():几乎可以执行任何SQL语句,返回值是boolean值,表明该SQL语句是否返回ResultSet对象

boolean值:

  • true:使用getResultSet()方法获取返回的ResultSet对象
  • false:使用getUpdateCount()方法获取返回所影响的行数

import java.sql.*;
public class TestDemo {

public static void main(String[] args) {

	JDBCDemo jdbc = new JDBCDemo();
	}
}
		
class JDBCDemo{
    public JDBCDemo() {
    			
				try {
					//  1.
	    			Class.forName("com.mysql.cj.jdbc.Driver");

	    			//	2.
	    			Connection con = DriverManager.getConnection(
	    			"jdbc:mysql://localhost:3306/de?characterEncoding=gb2312&serverTimezone=UTC&useSSL=false", "root", "root");

	    			//	3.
	    			 Statement stmt = con.createStatement();
	    			 
	    			//	4.
	    			String sql = "SELECT * FROM tb_student";    //  sql语句
	     			Boolean bool = stmt.execute(sql); 
	     			System.out.println("bool = " + bool);
	     			if (bool) {
						ResultSet rs = stmt.getResultSet();		//	获取ResultSet对象
					//	5.
		     			while(rs.next()){
		     			   int studentNo = rs.getInt(1); // 指定第几列 
		     			   String studentName = rs.getString("studentName"); // 指定列名称
		     			   System.out.println(studentNo + "---" + studentName);
		     			}
		     			
		     		//  6.
		     			rs.close();
		     			stmt.close();
		     			con.close();
					}
				} catch (SQLException | ClassNotFoundException e) {
					e.printStackTrace();
				}
    }
}


二、executeUpdate

executeUpdate():用于执行DDL和DML语句,返回值为所影响的行数

executeUpdate增强版(Java8新增):executeLargeUpdate(),返回值为long类型,适用于DML语句的记录超过Interger.MAX_VALUES的情况

import java.sql.*;
public class TestDemo {

public static void main(String[] args) throws ClassNotFoundException, SQLException {

	JDBCDemo jdbc = new JDBCDemo();
	}
}
		
class JDBCDemo{
    public JDBCDemo() throws SQLException, ClassNotFoundException {
    		
					//  1.
	    			Class.forName("com.mysql.cj.jdbc.Driver");

	    			//	2.
	    			Connection con = DriverManager.getConnection(
	    			"jdbc:mysql://localhost:3306/de?characterEncoding=gb2312&serverTimezone=UTC&useSSL=false", "root", "root");

	    			//	3.
	    			 Statement stmt = con.createStatement();
	    			 
	    			//	4.
	    			String sql = "UPDATE tb_student SET studentName='狗蛋' WHERE studentNo=2013110101";   //  sql语句
	     			int res = stmt.executeUpdate(sql); 
	     		
	     			//	5.
	     			System.out.println( "所影响的记录行数:" + res );
		     	
		     			
		     		//  6
		     		stmt.close();
		     		con.close();
    }
				
}


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java程序设计——execute()与executeUpdate()(JDBC编程) 的相关文章

  • 为什么 Hashtable 不允许空键或空值?

    正如 JDK 文档中所指定的 Hashtable 不允许空键或空值 HashMap 允许一个空键和任意数量的空值 为什么是这样 Hashtable 是较旧的类 通常不鼓励使用它 也许他们看到了对 null 键的需要 更重要的是 null 值
  • 使用itext java库复制时pdf文件大小大大增加

    我正在尝试使用 Java 中的 itextpdf 库将现有的 pdf 文件复制到一些新文件中 我使用的是 itextpdf 5 5 10 版本 我在两种方式上都面临着不同的问题 PDFStamper 和 PdfCopy 当我使用 PDFSt
  • IBM Websphere MQ - 用于 Tomcat 部署的 EJB 和 MDB 迁移

    我已经为此苦苦挣扎了很长一段时间 我有一个 IBM Websphere MQ 它使用 EJB 和 MDB 以下是配置ejb mdb的地方
  • 如何将webview内容划分为多个页面

    我必须使用 Android 上的 PdfDocument 从 webView 创建 PDF https developer android com reference android graphics pdf PdfDocument htm
  • Java 错误和警告列表

    在哪里 如何获得所有 java 和 javac 的错误和警告消息的列表 This http mindprod com jgloss compileerrormessages html我认为页面是您所需要的
  • Jenkins 未显示 Maven 编译器错误

    在 Jenkins 中构建多模块 maven 3 项目时 如果出现构建错误 我们会收到一条神秘消息 表明 Maven 编译器插件失败 这在上周才刚刚开始发生 INFO BUILD FAILURE INFO INFO Total time 1
  • 清空变量不会使方法引用无效[重复]

    这个问题在这里已经有答案了 为什么代码不抛出NullPointerException当我使用与变量绑定的方法引用时dog我后来分配了null to 我正在使用 Java 8 import java util function Functio
  • 是否可以使用 Apache Tika 提取表信息?

    我正在寻找 pdf 和 MS Office 文档格式的解析器 以从文件中提取表格信息 当我看到 Apache Tika 时 正在考虑编写单独的实现 我能够从任何这些文件格式中提取全文 但我的要求是提取表格数据 我希望有 2 列采用键值格式
  • java:为什么主线程等待子线程完成

    我有一个简单的java程序 主线程 main 创建并启动另一个线程t class T extends Thread Override public void run while true System out println Inside
  • 是否可以创建 Java RAM 磁盘以与 java.io.* API 一起使用?

    我正在使用一个第三方库 它基本上创建一个输出目录 其中包含不同类型的文件和子目录 我希望能够编写单元测试来确认输出正确 我希望能够将库与 RAM 磁盘一起使用 这样库所做的任何事情都不会以任何方式接触实际的磁盘板 这个想法是让测试运行和清理
  • 如何检查单词是否在wordNet中

    我开始了解wordNet直到我知道我找到了synonymous对于一个特定的词 现在我有一个文件 我想使用标记化该文本n gram例如 String s I like to wear tee shirt 使用后n gram这将是 I lik
  • 生成一定长度的所有排列

    假设我们有一个字母表 abcdefghiklimnop 如何以有效的方式以五个一组的形式重复该字母表来递归生成排列 几天来我一直在为此苦苦挣扎 任何反馈都会有帮助 本质上这与 生成给定字符串的所有排列 https stackoverflow
  • JFrame 在连续运行代码时冻结

    我在使用时遇到问题JFrame 它会冻结 连续运行代码 下面是我的代码 点击时btnRun 我调用了该函数MainLoop ActionListener btnRun Click new ActionListener Override pu
  • 扩展多个类

    我知道 Java 不支持多重继承 因为不允许扩展多个类 我只是想知道我的问题是否有解决方法 我有一个名为CustomAction需要扩展两个抽象类 BaseAction and QuoteBaseAction 我无法更改这些抽象类中的任何一
  • 获取接收者的设备令牌以在 Firebase 中发送通知

    所以我正在学习如何使用 firebase 发送设备到设备的通知 我看到了这个answer https stackoverflow com a 42548586 5237289发送通知 看起来很简单 现在 我知道要获取发件人的令牌 它应该如下
  • 如何使用 AffineTransform.quadrantRotate 旋转位图?

    我想旋转一个bitmap关于它的中心点 然后将其绘制成更大的图形上下文 位图是40x40 pixels 图形上下文是500x500 pixels 这就是我正在做的 BufferedImage bi new BufferedImage 500
  • 为什么/何时应该使用泛型方法?

    学习Java的时候遇到过通用方法 public
  • 使用 Hibernate Envers 的复合表

    我有一个带有复合表的应用程序 其中包含一个额外的列 一切正常 直到我们添加 Hibernate Envers Audited org hibernate MappingException 无法读取 no pack response Resp
  • junit4 使用特定测试方法创建测试套件

    在 junit4 中 我想执行来自不同类的特定测试方法 即想要使用来自不同类的特定测试方法创建一个测试套件 假设我有两门课 public class Test Login Test public void test Login 001 Sy
  • MyBatis 枚举的使用

    我知道以前有人问过这个问题 但我无法根据迄今为止找到的信息实施解决方案 所以也许有人可以向我解释一下 我有一个表 状态 它有两列 id 和 name id是PK 我不想使用 POJO Status 而是使用枚举 我创建了这样一个枚举 如下所

随机推荐

  • 基于java的俄罗斯方块小游戏设计(含源文件)

    欢迎添加微信互相交流学习哦 项目源码 https gitee com oklongmm biye 题 目 小游戏开发 摘 要 俄罗斯方块是我们最常见的游戏之一 该游戏出现过在掌上游戏机 家用游戏机 手机游戏和电脑游戏中 因此俄罗斯方块也是一
  • TencentOS-tiny 内核基础组件(十 七)- 环形队列

    一 内核基础组件 环形队列 概述 环形队列本质上就是支持先入先出操作的环形buffer 是系统的一个基础组件 通常用来作为实现上层机制的底层数据容器 API讲解 编程实例 1 编写main c示例代码 USER CODE END Heade
  • Lambda表达式、函数式接口

    一 Lambda 1 1 概述 Lambda表达式是一种没有名字的函数 也可以称为闭包 是Java8发布的最重要新特性 本质上是一段匿名内部类 也可以是一段可以传递的代码 还有的叫箭头函数 1 2 优点 是匿名内部类的简写方式 使代码更加简
  • 提交表单不刷新当前页面

    使用ajax上传文件方法 众所周知ajax是使用了浏览器内部的XmlHttpRequest对象来传输XML数据的 既然是Xml的数据传输 那么传输的数据肯定是文本的 而文件上传则需要传输二进制的数据 显然用ajax是不可能的 这里要说的是用
  • Error getting 'State' for /org/freedesktop/NetworkManager/ActiveConnection/0: (19) Method "Get" wit

    虚拟机使用的是无线驱动 但是本机使用的却是有线网络 导致激活不了
  • 「2022」打算跳槽涨薪,必问面试题及答案 -- JavaScript 篇

    Hi 我是 今日与君共勉 1 深浅拷贝的区别有哪些 要说 js 的深浅拷贝 就不得不提 js 的两大数据类型 基本数据类型和引用类型 基本数据类型的变量名和值都存储在栈中 对于引用类型的变量名存储在栈中 而值存储在堆中 由于存储方式不同 所
  • tensorflow can not find libcusolver.so.8.0

    ImportError libcusolver so 8 0 cannot open shared object file No such file or directory solution export LD LIBRARY PATH
  • 【毕业设计】深度学习水果识别系统 - python CNN

    文章目录 1 前言 2 开发简介 3 识别原理 3 1 传统图像识别原理 3 2 深度学习水果识别 4 数据集 5 部分关键代码 5 1 处理训练集的数据结构 5 2 模型网络结构 5 3 训练模型 6 识别效果 7 最后 1 前言 Hi
  • 【JavaScript学习笔记】鼠标样式

    style cursor hand 手形 style cursor crosshair 十字形 style cursor text 文本形 style cursor wait 沙漏形 style cursor move 十字箭头形 styl
  • git中rejected的解决方法

    在网上搜了一下 出现这种情况的原因是因为git仓库中已经有一部分代码 所以它不允许你直接把你的代码覆盖上去 第一种解决方法是强推 即利用强覆盖方式用你本地的代码替代git仓库内的内容 git push f 第二种解决办法是先把git的东西f
  • Java面试官在面试时喜欢问哪些问题?

    作为一名技术总监 我管理的技术团队有100多人 面试的Java程序员不要太多 不同的面试官 面试的要求也不太一样 例如 有的要求表达好 会沟通 有的要求技术好 能直接上手撸代码 搞项目 有的要求人踏实 稍微带一带 能干活就行 有的要求 我的
  • 轮播图禁用手势滑动

    要禁用手势滑动 并只允许自动轮播 你可以使用autoplayDisableOnInteraction属性来实现 以下是如何在Flutter中使用flutter swiper插件进行配置 首先 在pubspec yaml文件中添加flutte
  • 03 开始使用openEuler操作系统

    文章目录 03 开始使用openEuler操作系统 3 1 目标 3 2 Linux以及openEuler中的GUI与CLI 3 3 Linux的两种登录方式 3 3 1 本地登录 3 3 2 远程登陆 3 4 退出登录 注销 3 5 op
  • 【Markdown语法高级】 让你的博客更精彩(三:常用图标模板)

    引言 铭记于心 我唯一知道的 便是我一无所知 概述 众所周知 Markdown是一种轻量级标记语言 创始人为约翰 格鲁伯 英语 John Gruber 它允许人们使用易读易写的纯文本格式编写文档 然后转换成有效的XHTML 或者HTML 文
  • 【工作经验】基于Vue2,element ui,vue-cli,vuex,vue-router,axios,echarts,markdown-loader并结合个人前端学习笔记的vue前端框架实例

    demo目的 vue是目前主要的前端框架 虽然目前网页制作通常以前后端分离的形式 然而前端知识不止是前端工程师需要掌握 后端工程师 数据工程师 数据分析师都有必要有所了解 本demo旨在记录个人前端学习中的笔记以及学习网页前端主流vue框架
  • SpringSecurity创建角色和设置权限

    一 创建角色在之前创建完项目后 可以在SpringSecurityConfig类中重写configure方法并进行自定义创建角色 public class SpringSecurityConfig extends WebSecurityCo
  • git push fatal: 不能读commit id 问题

    现象 git merge分支的时候无冲突 git push提示一下报错 fatal 不能读 fdc91c997bd43dddd3eb84094e79b5a681453475 error 远程解包失败 eof before pack head
  • python文件夹之间的调用

    1 同一目录下的调用 incoke py def add a b print a b main py from incoke import add add 5 6 import incoke是调用整个文件夹 from incoke impo
  • python中的异常

    目录 一 常见的几种异常 二 异常的处理 异常就是指程序出错 我们平常所说的报错了就是程序出现异常 一 常见的几种异常 1 NameError 指变量未定义 系统识别不到出错的变量名 2 ValueError 要求输入一个整数 input
  • Java程序设计——execute()与executeUpdate()(JDBC编程)

    目录 一 execute 二 executeUpdate 一 execute execute 几乎可以执行任何SQL语句 返回值是boolean值 表明该SQL语句是否返回ResultSet对象 boolean值 true 使用getRes