快速批量插入setLocalInfileInputStream的用法
来源:互联网 发布:淘宝pc端图片尺寸 编辑:程序博客网 时间:2024/06/05 06:19
Thanks for jeff rick's help!
Here is the article url:http://jeffrick.com/2010/03/23/bulk-insert-into-a-mysql-database/
import com.mysql.jdbc.Connection;import com.mysql.jdbc.Statement;import org.apache.commons.io.IOUtils;import java.io.InputStream;import java.lang.reflect.Method;import java.sql.SQLException;import java.util.HashMap;import java.util.Map;public class DemoBulkInsert { public void bulkInsert(Connection conn, Long personId, HashMap<String, String> hashOfNameValues) throws SQLException { // First create a statement off the connection and turn off unique checks and key creation Statement statement = (com.mysql.jdbc.Statement)conn.createStatement(); statement.execute("SET UNIQUE_CHECKS=0; "); statement.execute("ALTER TABLE real_big_table DISABLE KEYS"); // Define the query we are going to execute String statementText = "LOAD DATA LOCAL INFILE 'file.txt' " + "INTO TABLE real_big_table " + "(name, value) " + " SET owner_id = " + personId + ", " + " version = 0; "; // Create StringBuilder to String that will become stream StringBuilder builder = new StringBuilder(); // Iterate over map and create tab-text string for (Map.Entry<String, String> entry : hashOfNameValues.entrySet()) { builder.append(entry.getKey()); builder.append('\t'); builder.append(entry.getValue()); builder.append('\n'); } // Create stream from String Builder InputStream is = IOUtils.toInputStream(builder.toString()); // Setup our input stream as the source for the local infile statement.setLocalInfileInputStream(is); // Execute the load infile statement.execute(statementText); // Turn the checks back on statement.execute("ALTER TABLE affinity ENABLE KEYS"); statement.execute("SET UNIQUE_CHECKS=1; "); }}
- 快速批量插入setLocalInfileInputStream的用法
- 快速批量数据插入
- mysql数据库批量快速插入
- mysql数据库批量快速插入
- Java - 批量插入用法(jdbcTemplate)
- Java - 批量插入用法(jdbcTemplate)
- Java - 批量插入用法(jdbcTemplate)
- JDBC的批量批量插入
- JDBC的批量批量插入
- JDBC的批量插入
- 数据的批量插入
- oracle的批量插入
- Hibernate的批量插入
- Mybaits的批量插入
- mysql的批量插入
- JDBC的批量插入
- mybatis的批量插入
- MySql快速插入以及批量更新
- Bar的设置
- 配置QT、vs2010,不用编译QT
- 12-11-19
- stc89c2单片机测频
- 12-11-21
- 快速批量插入setLocalInfileInputStream的用法
- Linux下进程管理
- cocos2d-x 2.0.2与1.x的不同之处 沈大海cocos2d-x教程13
- stub and mock difference
- Perl内置特殊变量
- 一个操作系统的实现读书笔记
- 一个类中静态容器对象的初始化问题
- 局域网内访问win7上的EasyPHP Apache服务
- 关于C++中的前置声明