2019-10-20

今日心得:
execute(),executeQuery(),executeUpdate()和executeBatch()的使用与区别:
在开发过程中,对数据库操作时,会执行各种sql语句,execute(),executeQuery()和executeUpdate要使用得当才不会报错
Statement 接口提供了三种执行 SQL 语句的方法:executeQuery、executeUpdate和 execute。项目工程中要选择哪个要根据实际的Sql语句来进行选择。
一、execute()方法:
用来执行返回多个结果集的sql语句,即当执行某个已存储过程或动态执行未知 SQL 字符串(即应用程序程序员在编译时未知)时,有可能出现多个结果的情况。
假定已知某个过程返回两个结果集,则在使用方法 execute 执行该过程后,必须调用方法 getResultSet 获得第一个结果集,然后调用适当的 getXXX 方法获取其中的值。要获得第二个结果集,需要先调用 getMoreResults 方法,然后再调用 getResultSet 方法。
二、executeQuery()方法:
用于产生单个结果集的语句,例如 SELECT 语句。 被使用最多的执行 SQL 语句的方法是 executeQuery。如果执行存储过程将产生大于 1 的更新计数,或生成多个结果集,则使用 execute 方法执行存储过程。executeQuery只能用于查询,execute方法才可以执行insert,update,delete操作。
三、executeUpdate():
用于执行 INSERT、UPDATE 、 DELETE 语句或不返回任何内容的 SQL 语句,如: SQL DDL(数据定义语言)语句,例如 CREATE TABLE 和 DROP TABLE。executeUpdate 将返回在 MERGE 操作中更新的正确行数。
executeUpdate()注重及时性,每写一条sql语句就发送给数据库保存起来,没有缓存,这样频繁操作数据库效率非常低。
四、executeBatch():
向数据库提交要运行的一批命令。如果所有命令都成功运行,则返回一个更新计数数组。executeBatch 方法由 java.sql.Statement 接口中的 executeBatch 方法指定。向数据库提交命令后,此方法将清除批中的所有命令。
通常是通过先使用addBatch()来缓存数据,将多条sql语句缓存起来,再通过executeBatch()方法一次性发给数据库,提高执行效率。
注意:
使用addBatch()缓存数据时要在循环中设置条件,当循环达到指定次数后执行executeBatch(),将缓存中的sql全部发给数据库,然后执行clearBatch()清楚缓存,否则数据过大是会出现OutOfMemory(内存不足)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值