`

jdbc批量数据操作

阅读更多
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的批量更新 一、JDBC的批量删除 一、JDBC的批量修改

    Mybatis与JDBC批量插入MySQL数据库性能测试

    Mybatis与JDBC批量插入MySQL数据库性能测试,资源包含文档、代码和数据库。

    jdbc批量操作数据分析与实例

    jdbc批量操作数据分析与实例,主要是通过实际可执行的例子来说明批量操作与一条条数据插入的实际性能,并做了相应的分析

    JDBC创建触发器 JDBC存储过程 JDBC创建表 数据备份 java备份数据库/JAVA恢复数据、java导入sql脚本

    JDBC创建触发器 JDBC存储过程 JDBC创建表 数据备份 java备份数据库/JAVA恢复数据、java导入sql脚本

    使用javaJDBC连接hive数据,实现简单的操作!

    使用javaJDBC连接hive数据,实现简单的操作!

    Java实现批量向mysql写入数据的方法

    主要介绍了Java实现批量向mysql写入数据的方法,涉及java基于JDBC连接mysql数据库及写入数据的相关操作技巧,非常简单实用,需要的朋友可以参考下

    SpringBoot整合hive-jdbc示例

    本项目对如何在Springboot项目中整合hive-jdbc进行简单示例和介绍,亲测可用,请放心下载。

    详解jdbc实现对CLOB和BLOB数据类型的操作

    主要介绍了详解jdbc实现对CLOB和BLOB数据类型的操作的相关资料,这里实现写入操作与读写操作,需要的朋友可以参考下

    你不知道的JDBC高级应用

    4.元数据(MetaData)的操作:包括 parameter , DB , ResultSet的元数据,配合反射,大幅度提升程序的灵活性. 5.储存过程和CRUD的操作,获得Statement可以添加的参数,最有用的是可以获得添加后的当前的自动增长的ID. 6....

    hql批量删除

    9.4.4 直接通过JDBC API来进行批量操作 当通过JDBC API来执行SQL insert、update和delete语句时,SQL语句中涉及到的数据不会被加载到内存中,因此不会占用内存空间。 以下程序直接通过JDBC API来执行用于批量更新的...

    尚硅谷_佟刚_JDBC.pptx

    除了常规的 JDBC 技术外,更涵盖 &lt;利用反射及 JDBC 元数据编写通用的查询方法&gt;、&lt;使用 DBUtils 工具类&gt;、设计模式&gt;、&lt;编写通用的 DAO 接口实现类&gt; 等企业级开发内容。源码级讲授 DBUtils 工具类的实现思想,DEBUG ...

    每天十道面试题(五)——JDBC数据库编程部分

    3、在使用JDBC操作数据库时如何实现批量添加数据?4、简述JDBC中的常用的类和接口5、JDBC事务的特性及常用方法6、简述JDBC原理 1、PreparedStatement接口与Statement接口相比,有哪些优势? 1)性能方面,...

    2021数据仓库服务常见问题汇总-华为-51页.pdf

    2.1 是否支持批量创建数据仓库? 2.2 无法成功创建数据仓库集群时怎么处理? 2.3 如何升级或回退GaussDB(DWS) ? 2.4 如何清理与回收存储空间? 2.5 是否支持集群扩容或缩容? 2.6 在集群扩容过程中数据仓库集群仍可...

    Hibernate3性能优化 Hibernate_regerence3.12

    有很多人认为Hibernate天生效率比较低,确实,在普遍情况下,需要将执行转换为SQL语句的 Hibernate 的效率低于直接JDBC存取,然而,在经过比较好的性能优化之后,Hibernate的性能还是让人相当...3.批量数据操作 4.杂项

    Java数据编程指南

    附录 附录A SQL入门 什么是SQL 什么是数据库 关系数据库基础 关系数据库的优点和缺点 SQL:数据定义 基本数据操作 数据完整性 表达式 连接 合并 子查询 小结 附录B 序列...

    阿里巴巴大数据之路——数据技术篇.pdf

    阿⾥数据仓库同步⽅式 1)批量数据同步 要实现各种各样数据源与数仓的数据同步,需要实现数据的统⼀,统⼀的⽅式是将所有数据类型都转化为中间状态,也就是字符串类型。以此来实现数据格式的统⼀。 产品——阿⾥...

    NC65通过BaseDAO操作数据库

    NC65通过BaseDAO操作数据库,包含接口类及接口实现类: /** * 获取baseDAO * @return */ public BaseDAO getBaseDAO() { if(baseDAO == null){ baseDAO = new BaseDAO(); } return baseDAO; } public ...

    MySQL,Oracle,PostgreSQL 数据库WEB维护管理软件

    TreeSoft数据库管理系统系统使用JAVA开发,采用稳定通用的springMVC +JDBC架构,实现基于WEB方式对 MySQL,Oracle,PostgreSQL 数据库进行维护管理操作。功能包括:数据库的展示,库表的展示,表字段结构的展示, SQL...

    module-ballerinax-java.jdbc:BallerinaJDBC模块

    它提供了访问和操作通过Java数据库连接(JDBC)可访问的任何类型的关系数据库中存储的数据所需的功能。 有关jdbc:Client支持的操作的更多信息(包括以下内容),请转到 。 池连接 查询数据 插入资料 更新数据 ...

    MySQL数据库

    ###批量操作 - Statement批量操作: statement.addBatch(sql1); statement.addBatch(sql2); statement.addBatch(sql3); //执行批量操作 statement.executeBatch(); - PreparedStatement批量操作: ...

Global site tag (gtag.js) - Google Analytics