当前位置: 代码网 > it编程>编程语言>Java > Java中executeQuery()和executeUpdate()的区别及说明

Java中executeQuery()和executeUpdate()的区别及说明

2025年11月06日 Java 我要评论
一、概述executequery()和executeupdate()都是jdbc的方法,用于执行sql语句。二、区别1.executequery()方法用于执行select查询语句,它返回一个resu

一、概述

executequery()和executeupdate()都是jdbc的方法,用于执行sql语句

二、区别

1.executequery()方法用于执行select查询语句,它返回一个resultset对象,该对象包含与查询语句匹配的所有行。

resultset对象可以用于遍历和访问查询结果。

例如:

	static resultset rs=null;
	static preparedstatement pst=null;

//------------遍历学生数据库
	public void shoumysql()    {
		string sql="select * from  student ";
		try {
			pst = con.preparestatement(sql);
			system.out.println("mysql代码执行成功");
			rs = pst.executequery();//pst的executequery方法执行查询返回结果集存到rs ,返回值是指针指向开始首地址。
			while(rs.next()) {
		    		system.out.print("账号:"+rs.getstring("code")+" \t");
			    	system.out.print("姓名:"+rs.getstring("name")+" \t");
			    	system.out.print("密码:"+rs.getstring("pwd")+" \t");
			    	system.out.println();
		    	}
		} catch (sqlexception e) {
			// todo auto-generated catch block
			e.printstacktrace();
		}
	}

2.executeupdate()方法用于执行insert、update和delete等修改数据库的操作语句,它返回一个整数值,表示受影响的行数。

例如:

		static preparedstatement pst=null;
	
//删除数据 根据code,自己不可以删除自己
	public void deletmysql() {
		scanner sc=new scanner(system.in);
		system.out.print("请输入要删除的账号:");
		
		string code=sc.nextline();
		if(code!=id) {
			string sql="delete from student where code = '" + code + "'";
			try {
				pst = con.preparestatement(sql);//创建pst对象
				pst.executeupdate();//修改数据库表,把数据写入数据库
			} catch (sqlexception e) {
				// todo auto-generated catch block
				e.printstacktrace();
				system.out.println("数据没有删除成功,可能原因sql语句,或者查询修改数据库都要用executeupdate();");
			}//修改数据库表,把数据写入数据库
		}else {
			system.out.println("不可以删除自身请重写输入要删除账号");
			deletmysql();
		}
		
	}
		

需要注意的是:

executeupdate()方法不能用于执行select查询语句,如果尝试执行select语句,将会抛出sqlexception异常。

同样地,executequery()方法也不能用于执行insert、update和delete等修改数据库的操作语句。

区别总结:

  • 改动数据库:executeupdate()
  • 只是看看 :executequery()

三、注意事项

1. 使用之前需要先创建一个statement对象或preparedstatement对象,并将sql语句作为参数传递给它们。

2. sql语句的正确性非常重要。确保sql语句语法正确,并且参数值正确绑定。

3. 在执行executequery()方法时,只能执行select查询语句,不能执行insert、update和delete等修改操作语句。

4. 在执行executeupdate()方法时,只能执行insert、update和delete等修改操作语句,不能执行select查询语句。

5. 需要手动关闭resultset对象和statement对象,以释放资源,可以使用try-with-resources语句或在finally块中关闭。

6. 对于executequery()方法返回的resultset对象,可以使用resultset对象的方法遍历和访问查询结果。

7. 对于executeupdate()方法返回的整数值,表示受影响的行数,可以用于检查修改操作的结果。

8. 可以使用preparedstatement对象来执行带有占位符的sql语句,通过设置相应的参数值来防止sql注入攻击。

9. 在执行executeupdate()方法时,如果没有受影响的行数,可能是因为执行的sql语句没有匹配的数据或语句写错了。

10. 需要确保数据库连接是有效的,并且具有适当的权限来执行sql语句。

遵循这些注意事项可以帮助避免一些常见的错误和问题,并确保正确、安全地使用executequery()和executeupdate()方法。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com