三、后端:JAVA数据迁移(MYSQL)通过链接原生JDBC无需实体类解析RESULT结果集存入MAP@2019

说明:取出一张表数据(select)向另外一张表做数据迁移(插入)

 public static void insertUserInfo() throws Exception {
    Class.forName("com.mysql.jdbc.Driver");
    String url = "jdbc:mysql://192.168.1.1:3306/sql?       
    useUnicode=true&characterEncoding=utf-8";    
    Connection conn = DriverManager.getConnection(url, "root", "root");
    //查询数据
    String sql1 = "select uid........................";
    PreparedStatement ps = conn.prepareStatement(sql1);
    ResultSet rs = ps.executeQuery(sql1);
    List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); 
    list=chanRsMap(rs);
    //插入数据
   String sql2 = "insert into uid...................";
    ps=conn.prepareStatement(sql2);
    for (Map<String, Object> map : list) {
        ps.setInt(1, Integer.parseInt(map.get("uid")==null?"0":map.get("uid").toString()));
    	ps.executeUpdate();
    	}
	
System.out.println("app_userinfo====插入完成");
//关闭
rs.close();
ps.close();
conn.close();
} 

//rs转map集合

public static List chanRsMap(ResultSet rs) throws SQLException,  InstantiationException, IllegalAccessException{
        ResultSetMetaData prsmd = rs.getMetaData();
        int pcCount = prsmd.getColumnCount();
        List list = new ArrayList();
        //遍历每条记录
        while(rs.next()){
        	Map<String,String> map = new  HashMap<>();
            for(int i=1;i<=pcCount;i++){
            	map.put(rsm.getColumnName(i), rs.getObject(i)==null?null:rs.getObject(i).toString());
            }
            list.add(map);
        }
        return list;
 } 

解决了自己的问题,我还只是个小白,文章仅供参考,如有不当,谢谢指教!!!谢谢
本人稍会一点java jdbc操作数据库,有兴趣可以一起讨论

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值