我的日常

登录/注册
您现在的位置:论坛 盖世程序员(我猜到了开头 却没有猜到结局) 盖世程序员 > execute、executeUpdate、executeQuery三者的区别
总共48087条微博

动态微博

查看: 1001|回复: 0

execute、executeUpdate、executeQuery三者的区别

[复制链接]

34

主题

4

听众

110

金钱

三袋弟子

该用户从未签到

跳转到指定楼层
楼主
发表于 2015-04-20 12:39:53 |只看该作者 |倒序浏览
1. ResultSet executeQuery(String sql); 执行SQL查询,并返回ResultSet 对象。* D3 |0 n7 T: ]3 B, Q
2.int executeUpdate(String sql); 可执行增,删,改,返回执行受到影响的行数。
9 h( D& A9 g& \6 u 3. boolean execute(String sql); 可执行任何SQL语句,返回一个布尔值,表示是否返回ResultSet 。+ p& g# }* u; ~+ w, F
execute是executeQuery和executeUpdate的综合.
9 V9 r7 ?' |9 s3 m-----; b* Q7 v; M; `# L5 [: d0 r
executeUpdate() 这是 PreparedStatement 接口中的方法1 V/ A! j# J( k* b! ?$ I7 P
executeUpdate(String sql) 这是 PreparedStatement 从父接口 Statement 中继承过来的方法
$ |$ w4 m8 U: N( r: T) k
! f' J9 B4 P; E$ nexecuteUpdate() 中执行 SQL 语句需要在创建 PerparedStatement 时通过 Connection 的 prepareStatement(String sql) 方法中写出,因为 PerparedStatement 中的 SQL 语句数据库需要进行预编译和缓存,因此要在创建 PerparedStatement 对象时给出 SQL 语句。9 T0 `: p% W9 K  e8 K' H3 H/ H
$ e& Y' A8 B+ W7 k- \; z
而 executeUpdate(String sql) 是 Statement 中的方法,参数中的 SQL 语句只是提交给数据库去执行,并不需要预编译。" ^  b4 y3 @" G* n% S

' x. x2 b9 @7 n5 }如果 SQL 语句中有 ? 占位符,那么在设置好占位符中的值后,必须使用 executeUpdate() 执行。而 executeUpdate(String sql) 只是提交一个 SQL 语句,且这个语句中不能带有 ? 占位符。' M7 @) u- ^6 s/ _+ ?" W  K

科帮网 1、本主题所有言论和图片纯属会员个人意见,与本社区立场无关
2、本站所有主题由该帖子作者发表,该帖子作者与科帮网享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和科帮网的同意
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、科帮网管理员和版主有权不事先通知发贴者而删除本文


JAVA爱好者①群:JAVA爱好者① JAVA爱好者②群:JAVA爱好者② JAVA爱好者③ : JAVA爱好者③

快速回复
您需要登录后才可以回帖 登录 | 立即注册

   

关闭

站长推荐上一条 /1 下一条

发布主题 快速回复 返回列表 联系我们 官方QQ群 科帮网手机客户端
快速回复 返回顶部 返回列表