import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCBatDemo {
private GetConn getConn;
private Connection conn;
private PreparedStatement stmt ;
private ResultSet rs = null;
public JDBCBatDemo(){
getConn = new GetConn();
}
/**
* @param args
*/
public static void main(String[] args) {
JDBCBatDemo demo = new JDBCBatDemo();
// long start = System.currentTimeMillis();//开始的时间
// demo.creatBatInsert();
// long end = System.currentTimeMillis();//结束的时间
// System.out.println("批处理插入的时间是:"+(end - start));
long start = System.currentTimeMillis();//开始的时间
demo.delBat();
long end = System.currentTimeMillis();//结束的时间
System.out.println("批处理删除的时间是:"+(end - start));
}
/**
* 批处理添加数据
*/
public void creatBatInsert(){
conn = getConn.getConnection();
String sql = "insert into test values(?,?,?)";
try {
stmt = conn.prepareStatement(sql);
for (int i = 0; i < 1000; i++) {
stmt.setString(1,"name"+i);
stmt.setDate(2, new Date(System.currentTimeMillis()));
stmt.setInt(3, 1000);
//放到包里去
stmt.addBatch();
}
int[] arr = stmt.executeBatch();//执行批处理
System.out.println(arr);
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
GetConn.free(stmt, conn, rs);
}
}
/**
* 批处理删除记录
*/
public void delBat(){
conn = getConn.getConnection();
String sql = "delete from test";
try {
stmt = conn.prepareStatement(sql);
stmt.addBatch();
stmt.executeBatch();
} catch (SQLException e) {
e.printStackTrace();
}finally{
GetConn.free(stmt, conn, rs);
}
}
}
public static void main(String[] args) ...{
Class.forName("sqldriver");
Connection conn = DriverManager.getConnection(URL,USER,PASS)
//无参,添加案例
Statement stmt = conn.createStatement();
stmt.addBatch("insert into authors(firstName,lastName) values('fegor','hack')");
stmt.addBatch("insert into authors(firstName,lastName) values('fegors','hacks')");
stmt.addBatch("insert into authors(firstName,lastName) values('fegorsr','hacksr')");
stmt.executeBatch();
stmt.close();
conn.close();
//带参,添加案例
PreparedStatement ps=conn.prepareStatement("insert into authors(firstName,lastName) values(?,?)");
ps.setString(1,"nihao1");//设置参数
ps.setString(2,"wohao1");
ps.addBatch(); //把语句加入批处理队列
ps.setString(1,"nihao2");
ps.setString(2,"wohao2");
ps.addBatch();
ps.setString(1,"nihao3");
ps.setString(2,"wohao3");
ps.addBatch();
ps.executeBatch(); //执行批处理
ps.close(); //最后关闭
conn.close();
}
//总结:
//1.stmt=conn.createStatement()这个后面的括号里面一般没有东西!!!
//2.pstmt=conn.prepareStament("insert into authors(firstName,lastName) values(?,?)")
//这个后面一定有sql语句,并且里面的参数是用?表示的。
//然后用pstmt.setString(1,"fegor")来设定它的值,1表示第1个问号的位置,"fegor",表示我们要加的值
//最后用pstmt.executeUpdate()去执行。
分享到:
相关推荐
在给定的博客链接中,可能详细解释了这些概念,并提供了示例代码来演示如何在实际应用中实现JDBC批处理。通过学习这个资源,开发者可以更好地理解和应用批处理技术,提升Java数据库应用程序的效率。
### JDBC批处理数据 在Java开发中,JDBC(Java Database Connectivity)是一种广泛使用的数据库连接技术,它允许Java应用程序与各种类型的数据库进行交互。当处理大量数据时,使用JDBC进行有效的数据操作变得尤为...
例如,如果你需要更新大量用户的数据,可以使用JDBC批处理来批量更新,减少网络通信和数据库事务处理的开销。 结合这三个技术,我们可以实现一个功能强大的系统。例如,一个基于Web的应用可能需要从用户上传的Excel...
本文将详细阐述JDBC批处理的基本概念、优势以及如何在实际应用中使用。 一、批处理的概念 批处理是指一次性提交多个SQL语句到数据库进行执行,而不是逐个发送和执行。在JDBC中,批处理主要通过Statement或...
总结来说,JDBC是Java中连接数据库的关键,而MySQL批处理是JDBC提供的一种高效的数据处理方式。通过正确使用批处理,开发者可以优化数据库操作,提升应用程序的性能,特别是在处理大数据量时效果显著。在实际开发中...
### Java JDBC规范详解 #### 一、概述与背景 JDBC,即Java Database Connectivity,是Java平台中一种标准的数据访问技术,它允许Java程序通过一套统一的API接口访问各种关系型数据库。JDBC的出现解决了Java应用与...
Java JDBC(Java Database Connectivity)是Java编程语言中用于与各种数据库进行交互的一组接口和类。它是Java标准版(Java SE)的一部分,允许Java开发者执行SQL语句并处理结果。在深入探讨Java JDBC之前,先要理解...
方立勋老师的JDBC笔记还会深入到JDBC的高级特性,如JDBC批处理、连接池的使用、JNDI数据源、以及JDBC的最新版本特性等,这些都是Java开发者必须掌握的技能。通过这些笔记的学习,读者将能够熟练地使用JDBC进行数据库...
Java JDBC (Java Database Connectivity) 是Java编程语言中用于与各种数据库进行交互的一组接口和类。它是Java标准的一部分,允许开发者在Java程序中执行SQL语句,实现对数据库的读写操作。本示例主要涉及使用Java ...
Java JDBC(Java Database Connectivity)是Java语言中用来规范客户端程序如何访问数据库的应用程序接口,它提供了标准的方法来连接、查询和操作MySQL这样的关系型数据库。MySQL是一款开源、免费的SQL数据库,广泛...
Java JDBC(Java Database Connectivity)是Java平台中用于与数据库交互的一组接口和类,它使得开发者可以使用标准的SQL语句来访问各种不同类型的数据库。本示例将讲解如何使用Java JDBC连接MySQL数据库,这对于任何...
- **JDBC批处理**:通过设置批处理边界,一次性提交多条SQL语句,减少数据库交互次数。 - **Java 8 Stream API**:处理大量数据时,Stream API提供了一种高效且易读的编程方式。 6. **Batch.java文件可能的内容**...
JDBC批处理的实现依赖于数据库驱动的实现,不同数据库的驱动可能会有不同的优化策略。深入研究JDBC源码,可以帮助我们理解批处理在底层是如何工作的,以及如何针对特定数据库优化性能。 ### 8. 工具支持 很多...
本项目"javajdbc宠物商店-Mysql数据库"是基于Java JDBC实现的一个宠物商店管理系统的数据库部分,它提供了与MySQL数据库交互的能力。在这个项目中,我们将深入探讨以下几个核心知识点: 1. **JDBC API**: JDBC API...
Java JDBC(Java Database Connectivity)是Java编程语言中用于与各种数据库进行交互的一组接口和类。这个小例子展示了如何使用JDBC连接到MySQL数据库。在Java应用中,JDBC提供了标准化的方法来创建、执行SQL语句...
Java的JDBC API提供了对事务的控制,可以通过try-catch-finally块来管理和回滚事务。 7. **性能优化**:通过缓存、预加载、连接池等手段提高处理速度。例如,使用PreparedStatement预编译SQL语句,可以避免SQL解析...
**JAVA JDBC教程** Java JDBC(Java Database Connectivity)是Java平台中的一个标准API,它允许Java应用程序连接到各种类型的数据库,实现数据的存取和处理。JDBC为开发者提供了一种统一的方式来访问不同的数据库...
对于Java开发者来说,使用JDBC批处理可以有效地管理与数据库的交互,尤其是在处理大量数据时,能够显著提升性能。 【标签】"sql2000+java 批处理" 指明了技术栈,即使用Java编程语言与SQL Server 2000数据库进行...
**JDBC批处理详解** 在Java数据库连接(Java Database Connectivity, JDBC)中,批处理是一项重要的功能,它允许开发者一次性提交多个SQL语句,从而提高数据处理的效率和性能。批处理是数据库操作中的优化手段,...
Java JDBC(Java Database Connectivity)是Java编程语言中用于与数据库交互的一组接口和类,它提供了标准的方法来连接、查询和操作数据库。本篇将详细解释这个“效率很高的java jdbc类”的核心概念和实现。 首先,...