两个数据库之间使用DB LINK进行访问,现在需要将一个数据库表中的数据复制到另一个数据库表中,大概有200多万条数据,直接使用insert into 语句,平时数据库没人用的时候,大概7到8分钟就可以导完,若跑批任务使用数据库,花了大概20多分钟也导不完,还有没有什么快速稳定一点的导数方式,求大神帮助!!!!!不胜感激!!!!!
3条回答 默认 最新
- longlong3207 2017-10-27 09:05关注
public static List<Map> getList(String sql,Connection conn2) throws SQLException { List list = new ArrayList(); Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try { conn = conn2; ps = conn.prepareStatement(sql); rs = ps.executeQuery(); //源 数据 (构成表的 行 列 ) ResultSetMetaData metaData = rs.getMetaData(); //获取表的列数 几列 int columnCount = metaData.getColumnCount(); Map map = null; while(rs.next()) { //Student stu = new Student(); //Object obj = clazz.newInstance(); map = new HashMap(); for (int i = 1; i <= columnCount; i++) { //key字段名 value字段的值 map.put(metaData.getColumnLabel(i), rs.getObject(i)); // sid 1 sname 宋小宝 // BeanUtils.copyProperty(obj, metaData.getColumnLabel(i), rs.getObject(i)); } list.add(map); } } catch (Exception e) { e.printStackTrace(); } finally { close(rs, ps, conn); } return list; }
这是我以前的工具类。后来改了,你看看能使吗?封装成map
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报