首先数据库迁移的IP要配置正确,旧的–>新的
其次,数据库迁移要保证新、旧字段的匹配,要每个对应。
public static void main(String[] args) {
Connection con_origin = null;
Connection con_destination = null;
ResultSet rs = null;
Statement st_ori = null;
Statement st_des = null;
//这里会用到try-catch-finally
Class.forName("org.mariadb.jdbc.Driver");
con_origin = DriverManager.getConnection("jdbc:mysql://旧IP地址:3306/tdb?useUnicode=true&characterEncoding=UTF-8", "root", "123456");
con_destination = DriverManager.getConnection("jdbc:mysql://新IP地址:3306/config_cbtc2_atp?useUnicode=true&characterEncoding=UTF-8", "root", "123456");
st_ori = con_origin.createStatement();
st_des = con_destination.createStatement();
// 迁移TestTable工程表数据
transferTestTable(rs,st_ori,st_des);
数据迁移的方法及格式:
private static void transferTestTable(ResultSet rs,Statement st_ori,Statement st_des){
int i = 0;
try {
String query_sql = " select * from linetable ";
rs = st_ori.executeQuery(query_sql);
while (rs.next()) {
// 将查询出的内容添加到list中,其中userName为数据库中的字段名称
//System.out.println(rs.getString("name"));
String del_sql = " delete from linetable where id = "+"'"+rs.getString("id")+"'";
st_des.execute(del_sql);
String insert_sql = " insert into artable(id,creator,gmt_create,is_deleted,"
+ "project_id,"
+ "sortud,"
+ "atp_device_no,"
+ "n_id_track1,"
+ "n_id_track2,"
+ "n_id_track3,"
+ "n_id_track4) values("+"'"+rs.