JDBC的批处理操作三种方式 pstmt.addBatch()
来源:互联网 发布:英雄皮肤淘宝店 编辑:程序博客网 时间:2024/06/06 03:09
JDBC的批处理操作三种方式 pstmt.addBatch()
package lavasoft.jdbctest;
import lavasoft.common.DBToolkit;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;
/**
* JDBC的批量操作三种方式
*/
public class BatchExeSQLTest {
public static void main(String[] args) {
exeBatchStaticSQL();
}
/**
* 批量执行预定义模式的SQL
*/
public static void exeBatchParparedSQL() {
Connection conn = null;
try {
conn = DBToolkit.getConnection();
String sql = "insert into testdb.book (kind, name) values (?,?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "java");
pstmt.setString(2, "jjjj");
pstmt.addBatch(); //添加一次预定义参数
pstmt.setString(1, "ccc");
pstmt.setString(2, "dddd");
pstmt.addBatch(); //再添加一次预定义参数
//批量执行预定义SQL
pstmt.executeBatch();
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBToolkit.closeConnection(conn);
}
}
/**
* 批量执行混合模式的SQL、有预定义的,还有静态的
*/
public static void exeBatchMixedSQL() {
Connection conn = null;
try {
conn = DBToolkit.getConnection();
String sql = "insert into testdb.book (kind, name) values (?,?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "java");
pstmt.setString(2, "jjjj");
pstmt.addBatch(); //添加一次预定义参数
pstmt.setString(1, "ccc");
pstmt.setString(2, "dddd");
pstmt.addBatch(); //再添加一次预定义参数
//添加一次静态SQL
pstmt.addBatch("update testdb.book set kind = 'JAVA' where kind='java'");
//批量执行预定义SQL
pstmt.executeBatch();
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBToolkit.closeConnection(conn);
}
}
/**
* 执行批量静态的SQL
*/
public static void exeBatchStaticSQL() {
Connection conn = null;
try {
conn = DBToolkit.getConnection();
Statement stmt = conn.createStatement();
//连续添加多条静态SQL
stmt.addBatch("insert into testdb.book (kind, name) values ('java', 'java in aciton')");
stmt.addBatch("insert into testdb.book (kind, name) values ('c', 'c in aciton')");
stmt.addBatch("delete from testdb.book where kind ='C#'");
stmt.addBatch("update testdb.book set kind = 'JAVA' where kind='java'");
// stmt.addBatch("select count(*) from testdb.book"); //批量执行不支持Select语句
//执行批量执行
stmt.executeBatch();
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBToolkit.closeConnection(conn);
}
}
}
注意:JDBC的批处理不能加入select语句,否则会抛异常:
java.sql.BatchUpdateException: Can not issue SELECT via executeUpdate().
at com.mysql.jdbc.StatementImpl.executeBatch(StatementImpl.java:1007)
- JDBC的批处理操作三种方式 pstmt.addBatch()
- Java的jdbc使用addBatch进行批处理操作的几种方式
- Java的jdbc使用addBatch进行批处理操作的几种方式
- JDBC的批处理操作三种方式
- JDBC的批处理操作三种方式
- JDBC的批处理操作三种方式
- JDBC的批处理操作三种方式
- JDBC的批处理操作三种方式
- JDBC批处理addBatch
- JDBC批处理的三种方式
- 关于jdbc批量操作(addBatch, executeBatch)的测试
- JDBC进行批处理的四种方式
- addBatch 批处理
- 使用JDBC的addBatch()方法
- JDBC操作数据库的批处理
- jdbc pstmt.executeQuery() 程序中断引起的问题(数据库postgrelsql)
- JDBC 进行批处理的两种方式 及其优缺点
- 实现批处理addBatch,executeBatch
- 继承派生3
- 访问权限和封装
- Spring Boot 构建框架
- 九九乘法表
- 实验楼sql进阶之成绩管理系统的数据操作(window)
- JDBC的批处理操作三种方式 pstmt.addBatch()
- 使用ALT+数字小键盘在文本文件中输入特殊字符
- KafkaConsumer 抛出KafkaConsumer is not safe for multi-threaded
- 在Linux和Windows下安装SVN钩子脚本
- 聚类
- 修改div内A标签的href值
- POJ 1475 Pushing Boxes
- android监听返回按键
- Codeforces Round #442 (Div. 2)-广搜&剪枝&技巧&好题-D. Olya and Energy Drinks