/**
*
*/
package com.spring.data;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Types;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.springframework.jdbc.core.BatchPreparedStatementSetter;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
/**
* @author yiyi
*
*/
public class DataHandler {
private static final String DRIVER = "com.mysql.jdbc.Driver";
private static final String URL = "jdbc:mysql://localhost:3306/big_data";
private static final String USER = "root";
private static final String PWD = "admin";
// conn
private static Connection conn = null;
static {
// load driver
try {
Class.forName(DRIVER);
conn = DriverManager.getConnection(URL, USER, PWD);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
//
public static void showDbs() {
String sql = "show databases";
try {
PreparedStatement pst = conn.prepareStatement(sql);
ResultSet rst = pst.executeQuery();
while (rst.next()) {
System.out.println(rst.getString(1));
}
rst.close();
pst.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void insert() {
// 开时时间
Long begin = new Date().getTime();
// sql前缀
String prefix = "INSERT INTO tb_big_data (count, create_time, random) VALUES ";
try {
// 保存sql后缀
StringBuffer suffix = new StringBuffer();
// 设置事务为非自动提交
conn.setAutoCommit(false);
// Statement st = conn.createStatement();
// 比起st,pst会更好些
PreparedStatement pst = conn.prepareStatement("");
// 外层循环,总提交事务次数
for (int i = 1; i <= 100; i++) {
// 第次提交步长
for (int j = 1; j <= 10000; j++) {
// 构建sql后缀
suffix.append("(" + j * i + ", SYSDATE(), " + i * j
* Math.random() + "),");
}
// 构建完整sql
String sql = prefix + suffix.substring(0, suffix.length() - 1);
// 添加执行sql
pst.addBatch(sql);
// 执行操作
pst.executeBatch();
// 提交事务
conn.commit();
// 清空上一次添加的数据
suffix = new StringBuffer();
}
// 头等连接
pst.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
// 结束时间
Long end = new Date().getTime();
// 耗时
System.out.println("cast : " + (end - begin) / 1000 + " ms");
}
public static void insertRelease() {
Long begin = new Date().getTime();
String sql = "INSERT INTO tb_big_data (count, create_time, random) VALUES (?, SYSDATE(), ?)";
try {
conn.setAutoCommit(false);
PreparedStatement pst = conn.prepareStatement(sql);
for (int i = 1; i <= 100; i++) {
for (int k = 1; k <= 10000; k++) {
pst.setLong(1, k * i);
pst.setLong(2, k * i);
pst.addBatch();
}
pst.executeBatch();
conn.commit();
}
pst.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
Long end = new Date().getTime();
System.out.println("cast : " + (end - begin) / 1000 + " ms");
}
public static void main(String[] args) {
insertRelease();
// insert();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
100万级数据插入测试
共15个文件
xml:4个
java:2个
jsdtscope:1个
5星 · 超过95%的资源 需积分: 34 211 下载量 143 浏览量
2014-08-26
00:10:23
上传
评论 4
收藏 7KB RAR 举报
温馨提示
100万级数据插入 总结目前网上的spring batchUpdate方法,和jdbc PreparedStatement的addBatch,及insert的2种插入方式引起的效率差别,我的博客中有说明!
资源推荐
资源详情
资源评论
收起资源包目录
data.rar (15个子文件)
spring
WebContent
META-INF
aop.xml 464B
MANIFEST.MF 39B
WEB-INF
web.xml 649B
lib
.settings
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.wst.common.project.facet.core.xml 334B
org.eclipse.wst.common.component 470B
org.eclipse.wst.jsdt.ui.superType.container 49B
.jsdtscope 503B
org.eclipse.jdt.core.prefs 364B
src
jdbc.properties 92B
com
spring
data
DataHandler.java 3KB
SpringBatchHandler.java 2KB
applicationContext.xml 2KB
.project 1KB
.classpath 882B
build
classes
共 15 条
- 1
frinder
- 粉丝: 171
- 资源: 21
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 纯 Python Java 解析器和工具.zip
- YOLO标记口罩数据集 (YOLO 格式注释)
- uniapp+vue3+云开发全栈开发同城配送鲜花小程序任意商城教程
- 客户需求快速小程序项目开发技巧
- java项目,课程设计-医疗服务系统.zip
- YOLO 注释风力涡轮机表面损坏-以 YOLO 格式注释风力涡轮机表面损伤 一万六千多文件
- 第一个适用于 Java 的 REST API 框架.zip
- Nvidia GeForce GT 1030显卡驱动(Win7)
- TIA PORTAL V17 UPD8- 更新包(最新版本2024.09)-链接地址.txt
- 示例应用程序展示了客户端和服务器上 JavaFX 和 Spring 技术的集成.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页