java jdbc 跨表复制_JDBC连接数据库(将库一中某表的数据复制到库二中)

java代码如下:

package com.rsr.test;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;

import java.util.ArrayList;

import java.util.List;

public class allStaffTest {

public static void main(String[] args) {

String driver="com.mysql.jdbc.Driver";//驱动路径

String url="jdbc:mysql://192.168.1.128:3306/rsrmsg";//数据库地址

String user="root";//访问数据库的用户名

String password="rsr_dev";//用户密码

try {

//1、加载驱动

Class.forName(driver);

//2、链接数据库

Connection con = DriverManager.getConnection(url, user, password);

List list = new ArrayList();

if(!con.isClosed()){//判断数据库是否链接成功

System.out.println("已成功链接数据库!");

//3、创建Statement对象

Statement st = con.createStatement();

//4、执行sql语句

String sql="SELECT a.id as aId,a.name as aName,b.hukou_type as aHukou,b.fund_all_c as aFundc,b.fund_all_p as aFundp from base b LEFT JOIN area a on a.id = b.area_id where fund_all_c is not null";//查询user表的所有信息

ResultSet rs = st.executeQuery(sql);//查询之后返回结果集

//5、打印出结果

while(rs.next()){

//List allList = new ArrayList();

String all = "";

all += rs.getString("aId")+",";

all += rs.getString("aName")+",";

all += rs.getString("aHukou")+",";

String fundc = rs.getString("aFundc");

String a = fundc.substring(0, fundc.length()-1);

String b = a.split(",")[a.split(",").length-1];

all += b+",";

String fundp = rs.getString("aFundp");

String c = fundc.substring(0, fundp.length()-1);

String d = c.split(",")[c.split(",").length-1];

all += d+",";

list.add(all);

}

rs.close();//关闭资源

}

con.close();//关闭数据库

for(int i=0;i

System.out.println(list.get(i));

}

//gaiku

String renshibaourl="jdbc:mysql://192.168.1.128:3306/renshiren";//数据库地址

String renshibaouser="root";//访问数据库的用户名

String renshibaopassword="rsr_dev";//用户密码

//1、加载驱动

Class.forName(driver);

Connection renshibaocon = DriverManager.getConnection(renshibaourl, renshibaouser, renshibaopassword);

if(!renshibaocon.isClosed()){//判断数据库是否链接成功

System.out.println("------------------------------------------------------已成功链接数据库人事保!");

for(int m=0;m

String one = list.get(m);

String[] two = one.split(",");

String areaname = two[1];

String hukouType = two[2];

String fundC = two[3];

String fundP = two[4];

System.out.println(areaname+".."+hukouType+".."+fundC+".."+fundP+"..");

//3、创建Statement对象

Statement renshibaost = renshibaocon.createStatement();

//4、执行sql语句

String sqls="SELECT * FROM area where name = '"+areaname+"' and pid is not null";

ResultSet rsbrs = renshibaost.executeQuery(sqls);//查询之后返回结果集

//5、打印出结果

String id = "";

while(rsbrs.next()){

id = rsbrs.getString("id");

System.out.println(areaname+rsbrs.getString("id"));

}

rsbrs.close();//关闭资源

System.out.println(id);

Statement renshibaost2 = renshibaocon.createStatement();

String sql2="update base set fund_c = '"+fundC+"',fund_p = '"+fundP+"' where area_id = "+id+" AND hukou_type = "+hukouType;

int result = renshibaost2.executeUpdate(sql2);//查询之后返回结果集

if(result>0){

System.out.println("操作成功");

}else{

System.out.println("操作失败");

}

}

}

renshibaocon.close();//关闭数据库

} catch (Exception e) {

e.printStackTrace();

}

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值