oracle 数据导入 mysql_oracle 数据导入到MySQL

package io.example;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.ResultSetMetaData;

import java.sql.SQLException;

import java.util.ArrayList;

import java.util.List;

import com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException;

/**

*

* @author tzj

*

*/

public class DTSo2m {

public static void main(String[] args) throws ClassNotFoundException, SQLException {

Class.forName("oracle.jdbc.driver.OracleDriver");

Class.forName("com.mysql.jdbc.Driver");

//Connection connectionO = DriverManager.getConnection("jdbc:oracle:thin:@10.3.52.x:1521/ship", "***",

//"***");

//

//Connection connectionM=DriverManager.getConnection("jdbc:mysql://123.56.x.x:13306",

//"***" , "***");

Connection connectionO = DriverManager.getConnection("jdbc:oracle:thin:@10.3.x.x:1521/x", "***",

"***");

Connection connectionM=DriverManager.getConnection("jdbc:mysql://47.95.163.x:3306",

"***" , "***");

List

list = new ArrayList<>();

list.add("tb_api_order");

//list.add("TB_GLOBAL_MANAGE_USER");

//list.add("EMS_SEA_ORDER_IN");

//list.add("ems_sea_declare_trans_info");

//list.add("TB_GLOBAL_MENUS");

//list.add("ems_sea_prov");

//list.add("EMS_SEA_COUNTRY_CASCADE");

//list.add("TB_EMS_SEA_DICT");

//list.add("EMS_SEA_ADJUSTMENT");

//list.add("EMS_SEA_ACCOUNT");

//list.add("EMS_SEA_SKU");

//list.add("EMS_SEA_STOREHOUSE");

//list.add("ems_sea_sku_inventory");

//list.add("EMS_SEA_NOTICE");

//list.add("TB_GLOBAL_ROLE_R_MENUS");

//list.add("EMS_SEA_STOCKNUM");

//list.add("EMS_SEA_DECLARE_ORDER");

//list.add("ems_sea_city");

//list.add("TB_GLOBAL_GB_MENU");

//list.add("EMS_SEA_BOX");

//list.add("EMS_SEA_DECLARE_GOODS");

//list.add("EMS_SEA_DELIVERYMODE");

//list.add("TB_GLOBAL_USER_R_ROLE");

//list.add("TB_GLOBAL_ROLE");

//list.add("EMS_SEA_ORDER_IN_AUDIT");

//list.add("EMS_SEA_HEAD_SKY");

//list.add("EMS_SEA_HEAD_SEA");

//list.add("EMS_SEA_FEE_LOG");

//list.add("ems_sea_fee");

//list.add("EMS_SEA_ORDER_OUT");

//list.add("EMS_SEA_ORDER_IN_LOG");

//list.add("EMS_SEA_ORDER_ITEM");

//list.add("EMS_SEA_GOODS_TYPE");

//list.add("EMS_SEA_BASE_INFO");

//list.add("EMS_SEA_COUNTY");

//list.add("TB_GLOBAL_USER_AUDIT");

//list.add("EMS_SEA_ORDER_IN_AUDIT");

//list.add("EMS_SEA_ORDER_OUT_LOG");

//list.add("EMS_SEA_ATTACH_FILE");

//list.add("ems_sea_carrier");

//list.add("EMS_SEA_RETURN_ORDER");

//list.add("EMS_SEA_TRANS_ORDER");

//list.add("EMS_SEA_DECLARE_ORDER_HIS");

//list.add("EMS_SEA_CLIENT_JOIN_ORDER");

//list.add("EMS_SEA_BOX_HIS");

//list.add("EMS_SEA_BOX_GOODS_HIS");

//list.add("EMS_SEA_BOX_GOODS");

//list.add("TMP_EMS_SEA_BOX_GOODS");

//list.add("TMP_EMS_SEA_BOX");

//list.add("EMS_SEA_AUDIT_RECORD");

//list.add("EMS_SEA_RECHARGEDOWN");

//list.add("EMS_SEA_USER_INVENTORY");

//list.add("EMS_SEA_RECHARGE");

for(String pram : list){

oracleData2Mysql(connectionO, connectionM, pram);

}

}

/**

*

* @param oracleConn

* @param mysqlConn

* @param tabname

* @throws SQLException

*/

public static void oracleData2Mysql(Connection oracleConn,Connection mysqlConn,String tabname) throws SQLException{

String where="where createdate> to_date('2017-11-23 00:00:00','yyyy-MM-dd HH24:mi:ss')";

ResultSet resultSet=oracleConn.createStatement().executeQuery("SELECT * FROM "+tabname+where);

StringBuilder insertBuilder=new StringBuilder("insert into `"+tabname+"`");

StringBuilder colBuilder=new StringBuilder("(");

StringBuilder valBuilder=new StringBuilder(" values(");

ResultSetMetaData metaData=

resultSet.getMetaData();

for (int i = 0; i < metaData.getColumnCount(); i++) {

colBuilder.append("`"+metaData.getColumnName(i+1)+"`,");

valBuilder.append("?,");

}

colBuilder.append(")");

valBuilder.append(")");

insertBuilder.append(colBuilder).append(valBuilder);

String prepareSql=insertBuilder.toString().replaceAll(",\\)", ")");

PreparedStatement preparedStatement=mysqlConn.prepareStatement(prepareSql);

int count=0;

System.out.println("执行"+prepareSql);

while(resultSet.next()){

for (int i = 0; i < metaData.getColumnCount(); i++) {

int colindex=i+1;

preparedStatement.setObject(colindex,resultSet.getObject(colindex),metaData.getColumnType(colindex));

preparedStatement.setString(i+1, resultSet.getString(i+1));

}

try {

count+=preparedStatement.executeUpdate();

} catch (MySQLIntegrityConstraintViolationException e) {

e.printStackTrace();

continue;

}

//if(count%100==0){

mysqlConn.commit();

//System.out.println("save");

//}

System.out.println("更新"+count+"条");

}

//mysqlConn.commit();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值