package cc.apl330;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import cc.apl330.dao.UserDAOException;
//注意批处理在实际中应用要注意同时打包太多的处理会引起内存溢出.
public class BatchTest {
/**
* @param args
*/
public static void main(String[] args) {
long start = System.currentTimeMillis() ;
//常规方式提交处理
for(int i=0; i<200; i++){
create(i) ;
}
long end = System.currentTimeMillis() ;
System.out.println("crate:" + (end - start)) ;
//成批提交处理
start = System.currentTimeMillis() ;
create1() ;
end = System.currentTimeMillis() ;
System.out.println("Batchcrate:" + (end - start)) ;
}
//常规方式提交处理
static void create(int i){
String sql = "INSERT INTO USER(name,money) VALUES(?,?);";
Connection conn;
PreparedStatement ps;
try {
conn = JdbcUtil.getConnection();
ps = conn.prepareStatement(sql) ;
ps.setString(1, "name"+i) ;
ps.setFloat(2, 200f+i) ;
ps.executeUpdate();
JdbcUtil.free(null, ps, conn) ;
} catch (SQLException e) {
throw new UserDAOException(e.getMessage(),e) ;
}
}
//成批提交处理
static void create1(){
String sql = "INSERT INTO USER(name,money) VALUES(?,?);";
Connection conn;
PreparedStatement ps;
try {
conn = JdbcUtil.getConnection();
ps = conn.prepareStatement(sql) ;
for(int i=200; i<400; i++){
ps.setString(1, "name"+i) ;
ps.setFloat(2, 200f+i) ;
ps.addBatch();//将处理打包
}
//执行批处理
int[] is = ps.executeBatch() ;
System.out.println(is.length+"") ;
JdbcUtil.free(null, ps, conn) ;
} catch (SQLException e) {
throw new UserDAOException(e.getMessage(),e) ;
}
}
}
分享到:
相关推荐
### JDBC批量操作详解 #### 一、JDBC批量插入 JDBC(Java Database Connectivity)是Java平台中用来标准地连接数据库的技术。通过JDBC,Java应用程序可以与多种类型的数据库进行交互,实现数据的读取、写入等功能...
在Java编程领域,JDBC(Java Database ...总之,通过JDBC进行批量插入数据是提高数据库操作效率的重要手段。合理使用批量处理、预编译SQL语句以及数据库特有的优化功能,可以在处理大数据时获得显著的性能提升。
在数据库操作中,批量插入(Batch Insert)是一种提高性能的有效方式,尤其是在处理大量数据时。本文将探讨Mybatis和JDBC在批量插入MySQL数据库时的性能差异,并提供相关的测试资源。 首先,JDBC(Java Database ...
### JDBC批量操作数据分析与实例 #### 一、引言 在日常软件开发中,数据库操作是必不可少的一部分。其中,批量操作作为一种高效的处理方式被广泛应用于数据处理任务中。本文将通过对一个具体的Java程序示例(使用...
因此,"jdbc批量插入大字段"这个话题旨在探讨如何高效地通过Java JDBC来实现Blob字段的批量插入,以提高性能。 首先,我们需要了解JDBC(Java Database Connectivity),它是Java编程语言与各种数据库之间通信的...
### JDBC批量操作详解:效率与性能的提升策略 在数据库操作中,批量处理是一种常见的优化技术,用于提高数据处理的效率和性能。JDBC(Java Database Connectivity)作为Java应用程序与数据库交互的标准API,提供了...
本篇文章将详细介绍如何使用Java实现JDBC批量插入数据,并比较三种常见的JDBC批量插入编程方法。 **方法一:使用PreparedStatement加批量的方法** PreparedStatement是Statement的子接口,允许预编译SQL语句,这...
- **性能优化**:大量数据同步时,批量操作比单条插入更快,避免频繁的数据库交互。 - **并发控制**:如果多线程环境下同步,需考虑并发控制,防止数据冲突。 ### 文件`transData`的关联 `transData`可能是一个...
通过合理利用JDBC的批量处理功能,开发者可以优化数据操作的性能,特别是在处理大数据量时,能有效减少数据库的负担,提高系统的整体响应速度。因此,理解和掌握批量处理是每个Java数据库开发者必备的技能之一。
总结来说,选择JDBC批量插入方法应基于数据插入的特性和需求。PreparedStatement适合动态参数,Statement适用于静态SQL,CallableStatement用于存储过程。理解它们的优缺点以及正确使用方式,能有效提升数据库操作的...
总之,通过JDBC,Java开发者可以高效地管理和操作数据库,包括创建高级数据库对象如触发器和存储过程,以及执行关键的数据管理任务如备份和恢复。这些功能的掌握对于任何需要处理数据库的Java项目都至关重要。
本程序是一个基于JAVA实现的JDBC数据库操作小程序,它提供了全面的数据库交互功能,包括增(Insert)、删(Delete)、改(Update)和查(Select)。此外,还增加了模糊查询等高级特性,非常适合JAVA初学者作为学习...
在Java开发中,Spring JDBC是Spring...总的来说,Spring JDBC提供了强大的批量处理能力,通过`NamedParameterJdbcTemplate`的`batchUpdate`方法,我们可以轻松地实现数据的批量插入和更新,有效提升数据库操作的效率。
在"mybatis数据操作(增删改查+批量操作)"这个主题中,我们将深入探讨如何利用MyBatis进行基本的数据操作,包括插入(Insert)、删除(Delete)、更新(Update)和查询(Select),以及如何执行批量操作。...
3. mysql数据库的基本操作:mysql数据库提供了基本的数据操作,如新增、删除、修改和查询等操作。通过使用JDBC,可以实现这些基本操作,例如在本文中,我们使用了insert into语句向mysql数据库中插入数据。 4. Java...
在本教程中,我们将深入探讨如何使用Java JDBC连接到Hive数据库,并执行基本的数据操作。Hive是一个基于Hadoop的数据仓库工具,它允许我们对大规模数据集进行SQL-like查询。 首先,我们需要在Java项目中引入Hive ...
在IT领域,特别是软件开发与数据管理中,Java Database Connectivity(JDBC)是连接Java应用程序与各种数据库管理系统的重要桥梁。JDBC提供了一种标准的API,使得开发者能够使用SQL语句来查询、更新和管理数据库中的...
该项目是一款基于SpringBoot、JDBC、Mybatis和EasyExcel的Java Excel批量导入导出解决方案源码,包含22个文件,其中包括10个Java源文件、2个Markdown文件、2个XML文件、1个Git忽略文件、1个JAR包文件、1个属性文件、...
2. 合理设置批处理大小,批量插入或更新数据。 3. 使用连接池管理连接,减少频繁的连接创建和关闭。 4. 对于复杂查询,考虑使用存储过程或数据库提供的函数。 5. 优化SQL语句,避免全表扫描,使用索引,减少JOIN操作...