logo logo
关于我们

技术分享

技术分享 数据库数据迁移,从mysql的数据迁移到其他数据库!

数据库数据迁移,从mysql的数据迁移到其他数据库!

2018-06-04

package com.ye;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;


public class FindImp {
    
    public  List<List<String>> getUserList(){
        List<List<String>> list = new ArrayList<List<String>>();
        String sql="select ID,LOGINNO,NAME,LOGINPWD from t_user";
        Connection conn=DBUtil.getConObpm();
        PreparedStatement pst = null;
        ResultSet rs =null;
        try {
            pst=conn.prepareStatement(sql);
            rs= pst.executeQuery();
            String[] columu = {"ID","LOGINNO","NAME","LOGINPWD"};
            int i=0;
            while(rs.next()){
                 List<String> minList = new ArrayList<String>();
                    for(String each:columu){
                        minList.add(rs.getString(each));
                    }
                    list.add(minList);
                    i++;
                    if(i%500==0){           //设置的每次提交大小为500
                        executeManySql(list);
                        list.removeAll(list);
                        System.out.println(i);
                    }
                }

                //别忘了提交剩余的
                executeManySql(list);
                return list;
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
        }finally{
            try {
                pst.close();
                conn.close();
                System.out.println("关闭jdbc");
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        return null;
    }
    private void executeManySql(List<List<String>> list) throws SQLException {
        Connection con = DBUtil.getConSqlite();
        con.setAutoCommit(false);
        Statement stat = null;
        String sql1="insert into userInfo(id,user_login,user_name,password) values (?,?,?,?)";
        
        PreparedStatement pst = (PreparedStatement) con.prepareStatement(sql1);
        System.out.println("aiya");
        for (List<String> minList: list) {
            for(int i=0;i<minList.size();i++){
                pst.setString(i+1, minList.get(i));
            }
            // 把一个SQL命令加入命令列表
            pst.addBatch();
        }
        // 执行批量更新
        pst.executeBatch();
        // 语句执行完毕,提交事务
        con.commit();
        pst.close();
        con.close();//一定要记住关闭连接
    }
    public static void main(String[] args) {
        FindImp aa=new FindImp();
        aa.getUserList();
        
    }
}

云祺备份软件,云祺容灾备份系统,虚拟机备份,数据库备份,文件备份,实时备份,勒索软件,美国,图书馆
  • 标签:
  • 行业资讯

您可能感兴趣的新闻 换一批

现在下载,可享30天免费试用

立即下载

请添加好友为您提供支持
jia7jia_7

请拨打电话
为您提供支持

400-9955-698