批量执行SQL,效率比较高,但执行SQL太多,谨防内存溢出。

代码案例一:

package com.what21.jdbc.demo05;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.Statement;

public class JDBCDemo {

/**

* @param args

*/

public static void main(String[] args) {

// 1. 创建连接

Connection connection = null;

try {

Class.forName("com.mysql.jdbc.Driver");

connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/demo","root","123124");

} catch (Exception e) {

e.printStackTrace();

}

Statement stat = null;

try {

// 2. 创建Statement

stat = connection.createStatement();

// 3. 执行SQL

String sql = "insert into users(name,email,phone,mobile) value('name','email','phone','mobile')";

String sql2 = "insert into users(name,email,phone,mobile) value('name2','email2','phone','mobile')";

stat.addBatch(sql);

stat.addBatch(sql2);

int[] results = stat.executeBatch();

for(int result : results){

System.out.println(result);

}

stat.clearBatch();

} catch (SQLException e) {

e.printStackTrace();

}

// 5. 关闭连接

if(stat!=null){

try {

stat.close();

} catch (SQLException e) {

e.printStackTrace();

}

stat=null;

}

if(connection!=null){

try {

connection.close();

} catch (SQLException e) {

e.printStackTrace();

}

connection=null;

}

}

}

代码案例二:

package com.what21.jdbc.demo05;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.SQLException;

public class JDBCDemo2 {

/**

* @param args

*/

public static void main(String[] args) {

// 1. 创建连接

Connection connection = null;

try {

Class.forName("com.mysql.jdbc.Driver");

connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/demo","root","123124");

} catch (Exception e) {

e.printStackTrace();

}

PreparedStatement pstat = null;

try {

String sql = "insert into users(name,email,phone,mobile) value(?,?,?,?)";

// 2. 创建PreparedStatement

pstat = connection.prepareStatement(sql);

pstat.setString(1, "_name");

pstat.setString(2, "_email");

pstat.setString(3, "_phone");

pstat.setString(4, "_mobile");

pstat.addBatch();

pstat.setString(1, "_name2");

pstat.setString(2, "_email2");

pstat.setString(3, "_phone2");

pstat.setString(4, "_mobile2");

pstat.addBatch();

// 3. 执行

int[] results = pstat.executeBatch();

for(int result : results){

System.out.println(result);

}

// 4. 处理返回结果(这里无结果)

} catch (SQLException e) {

e.printStackTrace();

}

// 5. 关闭连接

if(pstat!=null){

try {

pstat.close();

} catch (SQLException e) {

e.printStackTrace();

}

pstat=null;

}

if(connection!=null){

try {

connection.close();

} catch (SQLException e) {

e.printStackTrace();

}

connection=null;

}

}

}

java 批量执行 sql_JDBC批量执行SQL相关推荐

  1. SAP RETAIL 对WG22执行LSMW批量导入物料组描述信息时需要前台执行

    SAP RETAIL 对WG22执行LSMW批量导入物料组描述信息时需要前台执行 在SAP RETAIL系统中,物料组的维护不再是后台配置方式了,而是以前台方式作为主数据来维护进入SAP系统上.相关事 ...

  2. java登录的sql语句,如何获取执行过的所有sql语句

    怎么获取执行过的所有sql语句 我有一个java程序,我想获取 我登录网站执行过的所有sql语句,我的配置ibaties 有什么方法,最好有例子. 怎么获取执行过的所有sql语句 SQL Java - ...

  3. mysql如何批量删除索引_mysql执行大批量删除、查询和索引等操作教程

    mysql执行大批量删除 执行大批量删除的时候注意要使用上limit 因为如果不用limit,删除大量数据很有可能造成死锁 如果delete的where语句不在索引上,可以先找主键,然后根据主键删除数 ...

  4. java修改服务器文件名,批量修改文件名 java代码

    批量修改文件名 java代码 [2021-02-03 13:40:55]  简介: php实现批量修改文件名称的方法:首先使用函数[rename]实现,代码为[$path = pathinfo($cu ...

  5. mysql批量取消多行sql_mysql批量删除指定前缀的表,批量修改表名的SQL语句

    批量删除指定前缀的表 Select CONCAT( 'drop table ', table_name, ';' ) FROM information_schema.tables Where tabl ...

  6. sql 一次性批量插入_考虑使用SQL批量插入的安全性

    sql 一次性批量插入 In this article, we'll discuss security implications of using SQL Bulk Insert and how to ...

  7. java批量下载demo_Java批量入库Demo

    java中往数据库批量插入数据Demo java代码: //入库数据是需要批量入库的List int len =入库数据.size(); //每次循环10条 int incremnet = 10; / ...

  8. 《Oracle PL/SQL程序设计(第5版)》一一2.4 执行必要的PL/SQL任务

    本节书摘来自异步社区出版社<Oracle PL/SQL程序设计(第5版)>一书中的第2章,第2.4节,作者:[美]Steven Feuerstein , Bill Pribyl,更多章节内 ...

  9. mysql 批量update sql_批量更新sql |批量update sql

    zencart批量更新后台邮箱地址sql zencart批量更新后台邮箱地址sql UPDATE `configuration` SET `configuration_value` = '新邮箱地址' ...

最新文章

  1. vuex+vue-router拦截
  2. 安装python3.6-pyppeteer
  3. 1.10 字符串的替换(replace()、replaceFirst()和replaceAll())
  4. was更换java版本,WAS如何更换JDK
  5. skype for business server2015部署向导启动服务失败
  6. Ext.MessageBox.Show使用Progress
  7. dubbo源码解析(十)远程通信——Exchange层
  8. oracle中断进程,中断ORACLE数据库关闭进程导致错误案例
  9. c语言 误差处理 编程,C语言误差处理(平均数残差).doc
  10. 自学python考哪些证书-自学Python半年的姑娘告诉我,她这半年只值8元
  11. 使用遗传算法解决图着色问题
  12. 提高数据质量的方法有哪些
  13. 4.6 Spark SQL 数据清洗
  14. commons-httpclient 实现get和post请求
  15. window 清理maven本地仓库
  16. bootstrap EF_Bootstrap优秀模板INSPINIA.2.9.2
  17. 十六进制、二进制转换以及练习
  18. win10如何找计算机管理员密码,win10怎么修改administrator账户密码 win10修改管理员账户密码方法...
  19. 热血传奇服务端源代码分析笔记
  20. 北京时间校准 服务器 显示器 标准,纯干货~北京时间校准显示器实用分享

热门文章

  1. 使用Arduino开发板控制伺服电机
  2. python图片预处理基本操作之——批量重命名,修改格式,统一大小,保存为其他路径,灰度化,归一化并将BGR写入txt
  3. Matlab中如何将长字符串换行写
  4. 如何在C语言中添加自己的函数
  5. CentOS如何修改时区
  6. java微信公众号自动回复文字加图片
  7. 链路聚合的定义、链路聚合的概念和基本术语、链路聚合的特点
  8. 你去过(gan)大(huo)年(che),Down机别烦我
  9. 关于调用阿里大鱼发送手机验证码短信同一账号发送多次后失败
  10. uniapp 图标配置