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编程) 的相关文章

随机推荐

  • 基于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