execute()\executeUpdate()\executeQuery()方法返回值的探究

2023-10-20 17:18

本文主要是介绍execute()\executeUpdate()\executeQuery()方法返回值的探究,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

/说明:本实验探究extecute()\executeupdate()\executeQuery()什么情况抛出异常以及正常情况下返回值区别的探究/

package 应用研发;import java.sql.*;public class execute操作返回值探究 {public static void main(String[] args) throws ClassNotFoundException, SQLException {Class.forName("com.mysql.jdbc.Driver");String userMySql="root";String passwordMySql="";String urlMySql = "jdbc:mysql://localhost:3306/test?user="+userMySql+"&password="+passwordMySql + "&useUnicode=true&characterEncoding=utf-8"; Connection connection = DriverManager.getConnection(urlMySql,userMySql,passwordMySql);Statement stmt=connection.createStatement();/*说明:本实验探究extecute()\executeupdate()\executeQuery()什么情况抛出异常以及正常情况下返回值区别的探究*//*第一部分:探究execute()的返回值含义:返回布尔值*/String sql1="select * from student where sno='1';";boolean  i=stmt.execute(sql1);System.out.println("无此sno时查询时:execute返回结果为:"+i);//true;数据库MySQL未报错,即不抛出异常/*String sql2="select * from student1 where sno='1';";boolean  j=stmt.execute(sql2);System.out.println("查询无此人的时候:execute返回结果为:"+j);//表不存在数据库MySQL报错(ERROR),也抛出异常*/		/*String sql3="select * student where sno='1';";boolean  a=stmt.execute(sql3);System.out.println("查询无此人的时候:execute返回结果为:"+a);//语法错误,数据库MySQL报错,也抛出异常*/	/*String sql4="insert into student values('1','w');";boolean  j=stmt.execute(sql4);System.out.println("insert语法错误时:execute返回结果为:"+j);//插入语法错误,数据库MySQL报错,也抛出异常*/String sql5="insert into student values('2','w','2');";boolean  j=stmt.execute(sql5);System.out.println("不是查询语句时:execute返回结果为:"+j);/*总结一:execute方法的返回值仅仅用来区分有没有返回集,即是不是使用了查询语句。是修改语句才返回false,错误语句是抛出异常而不是返回false;*//*第二部分:探究executeUpdate()的返回值含义:返回作用行数的探究*/String sql6="insert into student values('12345','w','2');";int a=stmt.executeUpdate(sql6);System.out.println("语法错误时作用的行数:"+a);//插入语法错误,数据库MySQL报错,也抛出异常;//违反约束条件时数据库也报错,也抛出异常/*实验总结:无论execute()还是exectuteUpdate()方法,只要数据库MySQL报错,则必然在Java中抛出异常。:若不报错:execute返回布尔值区分是查询语句还是数据修改语句(有无返回ResultSet)executeUpdate()返回作用的行数,可以为0;executeQuery()返回查询的结果集ResultSet*//*数据库操作报错(抛出异常)的可能情况:1)表不存在2)语法错误3)不符合约束条件*/}}

实验总结:无论execute()还是exectuteUpdate()方法,
:只要数据库MySQL操作报错等价于Java执行错误,则必然在Java中抛出异常。
:若不报错:
execute返回布尔值区分是查询语句还是数据修改语句(有无返回ResultSet)
executeUpdate()返回作用的行数,可以为0;
executeQuery()返回查询的结果集ResultSet
数据库操作报错(抛出异常)的可能情况:
1)表不存在
2)语法错误
3)不符合约束条件

这篇关于execute()\executeUpdate()\executeQuery()方法返回值的探究的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/248517

相关文章

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

JavaScript中的高级调试方法全攻略指南

《JavaScript中的高级调试方法全攻略指南》什么是高级JavaScript调试技巧,它比console.log有何优势,如何使用断点调试定位问题,通过本文,我们将深入解答这些问题,带您从理论到实... 目录观点与案例结合观点1观点2观点3观点4观点5高级调试技巧详解实战案例断点调试:定位变量错误性能分

Python中 try / except / else / finally 异常处理方法详解

《Python中try/except/else/finally异常处理方法详解》:本文主要介绍Python中try/except/else/finally异常处理方法的相关资料,涵... 目录1. 基本结构2. 各部分的作用tryexceptelsefinally3. 执行流程总结4. 常见用法(1)多个e

JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法

《JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法》:本文主要介绍JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法,每种方法结合实例代码给大家介绍的非常... 目录引言:为什么"相等"判断如此重要?方法1:使用some()+includes()(适合小数组)方法2

504 Gateway Timeout网关超时的根源及完美解决方法

《504GatewayTimeout网关超时的根源及完美解决方法》在日常开发和运维过程中,504GatewayTimeout错误是常见的网络问题之一,尤其是在使用反向代理(如Nginx)或... 目录引言为什么会出现 504 错误?1. 探索 504 Gateway Timeout 错误的根源 1.1 后端

GO语言中函数命名返回值的使用

《GO语言中函数命名返回值的使用》在Go语言中,函数可以为其返回值指定名称,这被称为命名返回值或命名返回参数,这种特性可以使代码更清晰,特别是在返回多个值时,感兴趣的可以了解一下... 目录基本语法函数命名返回特点代码示例命名特点基本语法func functionName(parameters) (nam

MySQL 表空却 ibd 文件过大的问题及解决方法

《MySQL表空却ibd文件过大的问题及解决方法》本文给大家介绍MySQL表空却ibd文件过大的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录一、问题背景:表空却 “吃满” 磁盘的怪事二、问题复现:一步步编程还原异常场景1. 准备测试源表与数据

python 线程池顺序执行的方法实现

《python线程池顺序执行的方法实现》在Python中,线程池默认是并发执行任务的,但若需要实现任务的顺序执行,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋... 目录方案一:强制单线程(伪顺序执行)方案二:按提交顺序获取结果方案三:任务间依赖控制方案四:队列顺序消

SpringBoot通过main方法启动web项目实践

《SpringBoot通过main方法启动web项目实践》SpringBoot通过SpringApplication.run()启动Web项目,自动推断应用类型,加载初始化器与监听器,配置Spring... 目录1. 启动入口:SpringApplication.run()2. SpringApplicat

使用Java读取本地文件并转换为MultipartFile对象的方法

《使用Java读取本地文件并转换为MultipartFile对象的方法》在许多JavaWeb应用中,我们经常会遇到将本地文件上传至服务器或其他系统的需求,在这种场景下,MultipartFile对象非... 目录1. 基本需求2. 自定义 MultipartFile 类3. 实现代码4. 代码解析5. 自定