executequery,用executeQuery还是executeUpdate?

吉云

executeQuery,用 executeQuery 还是 executeUpdate?

各位老铁,今天咱们来聊聊一个老生常谈的话题,也是很多小伙伴在学习 JDBC 时都会遇到的一个executeQuery 和 executeUpdate,到底应该用哪个?

executequery,用executeQuery还是executeUpdate?

别急,我知道你们现在脑海里肯定是一团浆糊,什么 ResultSet、Statement,一大堆乱七八糟的,感觉就像走进了一个迷宫。没关系,今天就让老司机带你们开车,把这迷宫彻底摸透!

咱们得先搞清楚这两个方法是干嘛的。

executeQuery,顾名思义,就是用来执行查询语句的。它会返回一个 ResultSet 对象,里面装着你查询出来的数据。想象一下,你就像个侦探,用 executeQuery 就像拿着放大镜去数据库里搜寻线索,最终找到你想要的答案。

executeUpdate,顾名思义,就是用来执行更新语句的。它会返回一个 int 值,代表着受影响的行数。比如你修改了一条记录,那么 executeUpdate 就可能会返回 1,表示有一条记录被修改了。

那到底应该用哪个呢?

很简单,记住一句话:查询用 executeQuery,更新用 executeUpdate。

举个例子:

你想查询数据库中所有用户的姓名,那你就应该用 executeQuery,因为它会返回一个包含所有用户姓名的 ResultSet 对象。

你想把某个用户的年龄修改为 20 岁,那你就应该用 executeUpdate,因为它会返回一个 int 值,表示有多少条记录被修改了。

当然,为了更好地理解,咱们可以用一个表格来总结一下:

方法 功能 返回值
executeQuery 执行 SELECT 查询语句 ResultSet 对象
executeUpdate 执行 INSERT、UPDATE、DELETE 语句 受影响的行数(int)

但是,你以为这就结束了吗?

还有一些特殊的场景需要注意!

比如,某些情况下,你可能需要执行一个既包含 SELECT 又包含 INSERT 的语句,这种情况下,你应该使用 execute 方法。execute 方法比较灵活,可以执行任何类型的 SQL 语句,并返回一个 boolean 值,表示是否成功执行。

还有一些细节需要注意:

如果 executeQuery 执行的 SQL 语句不是 SELECT 语句,或者 executeUpdate 执行的 SQL 语句不是 INSERT、UPDATE、DELETE 语句,那么就会抛出异常。

在执行完 executeQuery 或 executeUpdate 后,你应该及时关闭 ResultSet 或 Statement 对象,释放资源。

我想说,学习任何技术都是需要不断探索和实践的,不要害怕犯错,也不要畏惧困难,只要你不断学习,不断尝试,你一定会成为一个编程高手!

那么,现在,你是否对 executeQuery 和 executeUpdate 有了更深的理解呢?

你觉得还有哪些关于 executeQuery 和 executeUpdate 的知识点值得分享呢?欢迎在评论区留言,我们一起探讨!

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。

目录[+]