executeUpdate,executeQuery,executeBatch 的区别

executeQuery :

用于实现单个结果集,例如:

Select

一般使用executeQuery 就是来实现单个结果集的工具

executeUpdate
用于执行 INSERT、UPDATE 或 DELETE 语句以及 SQL DDL(数据定义语言)语句,例如 CREATE TABLE 和 DROP TABLE。INSERT、UPDATE 或 DELETE 语句的效果是修改表中零行或多行中的一列或多列。

executeUpdate 的返回值是一个整数,指示受影响的行数(即更新计数)。对于 CREATE TABLE 或 DROP TABLE 等不操作行的语句,executeUpdate 的返回值总为零。

而addBatch()和executeUpdate()是用来执行数据插入的,不同就是一个批量,一个单个插入。这两个不要一起使用,那样addBatch()就和没写一样。addBatch()是用来缓存数据的,将多条sql语句缓存起来,再通过executeBatch()方法一次性发给数据库,大大提高执行效率。executeUpdate()注重的及时性,每写一条sql语句就发送给数据库保存起来,没有缓存,这样频繁操作数据库效率非常低。
还有一点需要注意的是:使用addBatch()缓存数据时要在循环中设置条件,当循环达到指定次数后执行executeBatch(),将缓存中的sql全部发给数据库,然后执行clearBatch()清楚缓存,否则数据过大是会出现OutOfMemory(内存不足)。

时间: 2024-10-22 10:41:41

executeUpdate,executeQuery,executeBatch 的区别的相关文章

execute、executeUpdate、executeQuery三者的区别及返回值

一.boolean execute(String sql)允许执行查询语句.更新语句.DDL语句.返回值为true时,表示执行的是查询语句,可以通过getResultSet方法获取结果:返回值为false时,执行的是更新语句或DDL语句,getUpdateCount方法获取更新的记录数量.例子:public static void main(String[] args) {  Connection conn = null;  Statement stm = null;  ResultSet rs

execute、executeUpdate、executeQuery三者的区别(及返回值)

1. ResultSet  executeQuery(String sql); 执行SQL查询,并返回ResultSet 对象. 2.int              executeUpdate(String sql); 可执行增,删,改,返回执行受到影响的行数. 3.boolean     execute(String sql); 可执行任何SQL语句,返回一个布尔值,表示是否返回ResultSet . execute是executeQuery和executeUpdate的综合. 使用哪一个方

Btrace入门到熟练小工完全指南

BTrace是神器,每一个需要每天解决线上问题,但完全不用BTrace的Java工程师,都是可疑的. BTrace的最大好处,是可以通过自己编写的脚本,获取应用的一切调用信息.而不需要不断地修改代码,加入System.out.println(), 然后重启,然后重启,然后重启应用!!! 同时,特别严格的约束,保证自己的消耗特别小,只要定义脚本时不作大死,直接在生产环境打开也没影响. 在网上搜索BTrace出来的文章都有点旧了,而且不够详细,于是决定,重新写一份. 码这么多的字好辛苦,请保留原文链

JDBC学习小结

一.JDBC基础 连接数据的步骤: 1.注册驱动 :Class.forName(“com.mysql.jdbc.Driver”) 推荐这种方式,不会对具体的驱动类产生依赖:DriverManager.registerDriver(com.mysql.jdbc.Driver) 会造成DriverManager中产生两个一样的驱动,并会对具体的驱动类产生依赖:System.setProperty(“jdbc.drivers”, “driver1:driver2”) 虽然不会对具体的驱动类产生依赖:但

Java数据库增删改查

数据库为MySQL数据库,Oracle数据库类似: create database db_test;--创建数据库 create user user_test@localhost identified by '123456';--创建用户 grant all privileges on db_test.* to user_test@localhost;--给用户授予权限 use db_test; create table tb_Test( pk_Test_ID char(10) primary

result结果集

结果集(ResultSet)是数据中查询结果返回的一种对象,可以说结果集是一个存储查询结果的对象,但是结果集并不仅仅具有存储的功能,他同时还具有操纵数据的功能,可能完成对数据的更新等. 结果集读取数据的方法主要是getXXX(),他的参数可以使整型表示第几列(是从1开始的),还可以是列名.返回的是对应的XXX类型的值. 如果对应那列时空值,XXX是对象的话返回XXX型的空值,如果XXX是数字类型,如Float等则返回0,boolean返回false.使用 getString()可以返回所有的列的

TIMESTEN安装配置指南-中文版

TimesTen内存数据库 第一章 Cache Connect to Oracle概念 TimesTen数据交换技术提供在Oracle数据库和TimesTen数据管理器之间进行连接和双向数据传送.数据交换技术也使得能够方便的捕获和处理进入到TimesTen数据管理器的大流量事件流,而且能进行并发传送数据到Oracle数据库. TimesTen同意通过创建cache group来快速缓存Oracle数据,以在TimesTen中映射一个或多个Oracle表. 同意快速缓存Oracle数据的Times

jsp/servlet学习笔记(核心编程)mysql部分

第十七章 访问JDBC(1)载入JDBC驱动程序需要在Class.forName方法中指定数据库驱动程序的类型try{ Class.forName("connect.jdbc.driver.OracleDriver");}catch(ClassNotFountException){ System.err.println("");} (2)定义链接URL(指定协议,主机名.端口和数据库名)String host="dbhost.yourcompany.com

JDBC MYSQL 学习笔记(一) JDBC 基本使用

1.JDBC简介 SUN公司为了简化.统一对数据库的操作,定义了一套Java操作数据库的规范,称之为JDBC. JDBC全称为:Java Data Base Connectivity(java数据库连接),它主要由接口组成. 组成JDBC的2个包:java.sql  javax.sql 开发JDBC应用需要以上2个包的支持外,还需要导入相应JDBC的数据库实现(即数据库驱动). 2.使用JDBC的步骤--第一个JDBC程序 需求:编程从user表中读取数据,并打印在命令行窗口中. (1) 搭建实