jpa mysql脚本迁移_JPA通过LOAD DATA LOCAL INFILE大批量导入数据到MySQL

连接层代码:

import org.hibernate.Session;

import org.hibernate.internal.SessionFactoryImpl;

import org.springframework.jdbc.support.nativejdbc.C3P0NativeJdbcExtractor;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.SQLException;

public int loadFromInputStream(String loadDataSql, InputStream dataStream) throws JPAException {

Session session = (Session) entityManagerFactory.getDelegate();

SessionFactoryImpl sessionFactory = (SessionFactoryImpl) session.getSessionFactory();

int result = 0;

try {

//获取C3P0连接

Connection conn = sessionFactory.getConnectionProvider().getConnection();

PreparedStatement ps = conn.prepareStatement(loadDataSql);

//将C3P0的连接转换成mysql的

C3P0NativeJdbcExtractor cp30NativeJdbcExtractor = new C3P0NativeJdbcExtractor();

com.mysql.jdbc.Connection mysql_conn = (com.mysql.jdbc.Connection) cp30NativeJdbcExtractor.getNativeConnection(ps.getConnection());

//将C3P0的PreparedStatement转换成mysql的

com.mysql.jdbc.PreparedStatement mysql_ps = mysql_conn.prepareStatement(loadDataSql).unwrap(com.mysql.jdbc.PreparedStatement.class);

//设置文件流

mysql_ps.setLocalInfileInputStream(dataStream);

result = ps.executeUpdate();

} catch (SQLException e) {

e.printStackTrace();

}

return result;

}

使用连接层代码:

public void testLoadFile() throws ServiceException {

String loadDataSql = "load data LOCAL infile 'C:/Users/Administrator/Desktop/userinfo.txt' into table userinfo character set utf8 fields terminated by ',' enclosed by '\"' lines terminated by '\r\n' (`userId`,`userName`,`userNickName`,`createTime`,`userEmail`,`userPassword`,`userSex`,`userMobile`,`lastLoginTime`);";

byte[] bytes = loadDataSql.getBytes();

InputStream is = new ByteArrayInputStream(bytes);

try {

userDAO.testLoadFile(loadDataSql, is);

} catch (JPAException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

userinfo.txt内容:

"2","2","2","2017-01-13 14:03:53","2","2","2","2","2017-01-13 14:03:53"

"3","2","2","2017-01-13 14:03:53","2","2","2","2","2017-01-13 14:03:53"

"4","2","2","2017-01-13 14:03:53","2","2","2","2","2017-01-13 14:03:53"

"5","2","2","2017-01-13 14:03:53","2","2","2","2","2017-01-13 14:03:53"

"6","2","2","2017-01-13 14:03:53","2","2","2","2","2017-01-13 14:03:53"

"7","2","2","2017-01-13 14:03:53","2","2","2","2","2017-01-13 14:03:53"

"8","2","2","2017-01-13 14:03:53","2","2","2","2","2017-01-13 14:03:53"

"9","2","2","2017-01-13 14:03:53","2","2","2","2","2017-01-13 14:03:53"

"10","2","2","2017-01-13 14:03:53","2","2","2","2","2017-01-13 14:03:53"

"11","2","2","2017-01-13 14:03:53","2","2","2","2","2017-01-13 14:03:53"

"12","2","2","2017-01-13 14:03:53","2","2","2","2","2017-01-13 14:03:53"

"13","2","2","2017-01-13 14:03:53","2","2","2","2","2017-01-13 14:03:53"

"14","2","2","2017-01-13 14:03:53","2","2","2","2","2017-01-13 14:03:53"

"15","2","2","2017-01-13 14:03:53","2","2","2","2","2017-01-13 14:03:53"

"16","2","2","2017-01-13 14:03:53","2","2","2","2","2017-01-13 14:03:53"

"17","2","2","2017-01-13 14:03:53","2","2","2","2","2017-01-13 14:03:53"

userinfo表结构:

CREATE TABLE `userinfo` (

`userId` varchar(36) NOT NULL,

`userName` varchar(45) DEFAULT NULL,

`userNickName` varchar(45) DEFAULT NULL,

`createTime` datetime DEFAULT NULL,

`userEmail` varchar(45) DEFAULT NULL,

`userPassword` varchar(45) DEFAULT NULL,

`userSex` int(11) DEFAULT NULL,

`userMobile` varchar(45) DEFAULT NULL,

`lastLoginTime` datetime DEFAULT NULL,

PRIMARY KEY (`userId`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/574646.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

javascript的事件冒泡,阻止事件冒泡和事件委托, 事件委托是事件冒泡的一个应用。...

2018年12月13日更新 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><style>ul li{border: 1px solid yellow;}</style> </head> <body> <p hidden>…

php 序列化 java_PHP--序列化与反序列化详解

PHP--序列化与反序列化详解博客说明文章所涉及的资料来自互联网整理和个人总结&#xff0c;意在于个人学习和经验汇总&#xff0c;如有什么地方侵权&#xff0c;请联系本人删除&#xff0c;谢谢&#xff01;说明所有php里面的值都可以使用函数serialize()来返回一个包含字节流的…

hadoop2.x的变化

HDFS Federation&#xff08;HDFS联邦&#xff09; HDFS有两个主要层&#xff1a; Namespace 由目录、文件和块组成&#xff1b;支持所有命名空间对文件和目录的操作。 Block Storage Service 由Block Management和Storage组成。 Block Management 提供dataNode集群成员关系&am…

python enumeration_python枚举防止无效的属性分配

要使枚举类完全“只读”,只需要使用__setattr__hook防止全部的属性分配。因为元类附加到类之后它是创建的,分配正确的枚举值没有问题。就像伊桑的回答一样,我用的是EnumMeta类作为自定义元类的基础:from enum import EnumMeta, Enumclass FrozenEnumMeta(EnumMeta):"Enum …

java wps linux 安装_ubuntu安装Java开发环境

1. 从sun主页JDK for Linux版本。这里的是jdk-6u6--i586.bin.2. 用root用户登录ubuntu&#xff0c;或是在普通用户下用su命令切换用户。切换到所需的安装目录。类型&#xff1a;cd 例如&#xff0c;要在 /usr/java/ 目录中 安装软件&#xff0c;请键入&#xff1a;cd /usr…

[BZOJ 2594] [Wc2006]水管局长数据加强版 【LCT】

题目链接&#xff1a;BZOJ - 2594 题目分析 这道题如果没有删边的操作&#xff0c;那么就是 NOIP2013 货车运输&#xff0c;求两点之间的一条路径&#xff0c;使得边权最大的边的边权尽量小。 那么&#xff0c;这条路径就是最小生成树上这两点之间的路径。 然而现在有了删边操作…

vs升级c++项目遇到的一些问题

1、error C1189: #error : This file requires _WIN32_WINNT to be #defined at least to 0x0403. Value 0x0501 or higher is recommended. 在工程的stdafx.h中&#xff0c;改为如下配置&#xff1a; #ifndef WINVER #define WINVER 0x0501 #endif #ifndef _WIN32_WINNT #def…

python模糊匹配忽略大小写_在python中忽略大小写的简单方法?

如果搜索多个单词&#xff0c;则创建一个集合是有意义的&#xff1a;print(set(brown_sents).intersection(zip(repeat(most_ambiguous_word),word_class_dict[most_ambiguous_word])))输出{(word2, wordclass2), (word2, wordclass3)}要理解它的作用&#xff0c;请将脚本保存到…

IAR7.51提示秘钥无效IAR 以及 CCDebug驱动(包含win7 64bit)

今天IAR不识别我的仿真器&#xff0c;然后我感觉驱动有问题&#xff0c;就把之前的驱动卸载了&#xff0c;但是按照以前的方法按章驱动(选择路径到IAR的某个目录)&#xff0c;提示找不到驱动。。。 也不想重新装个IAR了&#xff0c;于是到CSDN上下载了这个驱动程序&#xff0c;…

cannot be resolved or is not a field

我通常的解决办法&#xff1a;1.看看是不是manifest.xml文件有错误&#xff0c;如果有的话&#xff0c;R.java是不会生成的2.一般来说R.layout.aaa.xml&#xff0c;这里的R是自己的包的R.java&#xff0c;不是android系统的R.java&#xff0c;所以如果引入包的时候有import and…

java解析时已到达文件结尾_IO流读取到文件末尾继续读取

import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;//正常情况//main()方法中第一个read()和和第二个read();是可以顺利执行完的…

百度地图动态显示查询结构

<script type"text/javascript">// 百度地图API功能function G(id) {return document.getElementById(id);}var map new BMap.Map("l-map");map.centerAndZoom("北京",12); // 初始化地图,设置城市和地图级别。var ac …

solr5.0mysql_ik扩展支持Solr配置详解

扩展ik原生代码&#xff1a;public class IKAnalyzerTokenizerFactory extends TokenizerFactory{private boolean useSmart;public boolean useSmart(){return this.useSmart;}public void setUseSmart(boolean useSmart) {this.useSmart useSmart;}public IKAnalyzerTokeniz…

apache htpasswd.exe创建密码

一、使用apache htpasswd.exe创建密码文件&#xff0c;命令请看PHP推荐教程&#xff1a;apache htpasswd命令用法详解 apache htpasswd命令用法实例 1、如何利用htpasswd命令添加用户&#xff1f; 在apache安装目录bin下找到htpasswd #usr/local/apache/bin/htpasswd -bc .pass…

考研复试考java_2019考研复试经验帖:过来人谈5件“小事”

关于复试&#xff0c;决定这你的命运&#xff0c;考生一定要好好把握。关于复试&#xff0c;你做好前期功课&#xff0c;足够了解了吗?下面新东方在线分享一位过来人的经验之谈&#xff0c;给大家最走心的忠告~~▶先来说说复试规则。在复试之前学校会公布学校的复试分数线&…

Hadoop2源码分析-RPC机制初识

1.概述 上一篇博客&#xff0c;讲述Hadoop V2的序列化机制&#xff0c;这为我们学习Hadoop V2的RPC机制奠定了基础。RPC的内容涵盖的信息有点多&#xff0c;包含Hadoop的序列化机制&#xff0c;RPC&#xff0c;代理&#xff0c;NIO等。若对Hadoop序列化不了解的同学&#xff0c…

svn客户端 java_svn纯java客户端SVNKit学习整理(转)

http://www.iteye.com/topic/688217http://blog.csdn.net/feiren127/article/details/7551782把svnkit.jar添加到项目中&#xff0c;用于实现svn功能。 把jackson-all-1.6.2.jar添加到项目中&#xff0c;用于显示树列表。把javaee.ar添加到项目中。新建一个类(SVNUtil.class)实…

贪心 BestCoder Round #39 1001 Delete

题目传送门 1 /*2 贪心水题&#xff1a;找出出现次数>1的次数和res&#xff0c;如果要减去的比res小&#xff0c;那么总的不同的数字tot不会少&#xff1b;3 否则再在tot里减去多余的即为答案4 用set容器也可以做&#xff0c;思路一样5 */6 #include &l…

java this() super()_java中的this和super

this对象本身。public class ThisTest {ThisTest tTest;public ThisTest(){tTest this;}public void test(){System.out.println(this);}public static void main(String arg[]){new ThisTest().test();}}成员方法引用。成员变量引用。public class ThisTest {String name;Str…

配置汇编环境:使用vs2010+MASM

1、将MASM32下载并安装到根目录&#xff08;得到include和lib文件夹&#xff09;&#xff0c;官网即可下载&#xff0c;有64位版本2、配置vs2010 &#xff08;1&#xff09;添加项目 a、新建空白解决方案 b、添加空项目 c、项目属性->生成自定义-&g…