dbsynctask.java#1.1

来自「数据库远程同步软件NetBeans项目源文件 项目采用Jdesktop集成组件」· 1 代码 · 共 83 行

1
83
字号
/* * To change this template, choose Tools | Templates * and open the template in the editor. */package databasesyncdesktopapplication.PlanTaskPool;import com.qixuan.jdbc.common.SourceDataBase;import com.qixuan.jdbc.common.TargetDataBase;import com.qixuan.jdbc.util.ALTERTablesUtil;import com.qixuan.jdbc.util.ColumnData;import com.qixuan.jdbc.util.DatabaseMetaDataUtil;import com.qixuan.jdbc.util.InsertRecordsToDb;import com.qixuan.jdbc.util.ResultSetMetaDataUtil;import java.sql.Connection;import java.text.SimpleDateFormat;import java.util.Date;import java.util.List;/** * * @author mjw917 */public class DbSyncTask extends SchedulerTask{    private  Connection connection_source; private final SimpleDateFormat dateFormat =            new SimpleDateFormat("dd MMM yyyy HH:mm:ss.SSS");    public DbSyncTask(Connection connection_source, Connection connection_target) {        this.connection_source = connection_source;        this.connection_target = connection_target;    }    public Connection getConnection_source() {        return connection_source;    }    public void setConnection_source(Connection connection_source) {        this.connection_source = connection_source;    }    public Connection getConnection_target() {        return connection_target;    }    public void setConnection_target(Connection connection_target) {        this.connection_target = connection_target;    }    private  Connection connection_target;    @Override    public void run() {        connection_source=SourceDataBase.getConnection();		connection_target=TargetDataBase.getConnection();        ALTERTablesUtil.UpdateColumnRecordFlag(connection_source,0);        execution();    System.out.println("execution end! " + "It's " + dateFormat.format(new Date()));    }public  void execution(){		ALTERTablesUtil.AddColumnByRecordFlag(connection_source);		System.out.println("------------------同步开始-------------");		DatabaseMetaDataUtil dbmu = new DatabaseMetaDataUtil(connection_source);		ResultSetMetaDataUtil rmdu = new ResultSetMetaDataUtil(connection_source);		List<String> tableNames = dbmu.getTableNames();		for (String tableName : tableNames) {			rmdu.setTableName(tableName);			List<ColumnData> dataList =  rmdu.getColumns();			int count=rmdu.getColumnCount();			System.out.println("表名:"+tableName+",columnCount="+count);			InsertRecordsToDb ird=new InsertRecordsToDb();			ird.setConn(connection_target);			ird.setColumns(dataList);			ird.setTabName(tableName);			ird.setCount(count);			try{			ird.ExecuteInsertSql();			}catch(RuntimeException e){				System.out.println("RuntimeException"+e.getMessage());			}		}		ALTERTablesUtil.UpdateColumnRecordFlag(connection_source,1);	}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?