dbsynctask.java

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

JAVA
91
字号
/* * To change this template, choose Tools | Templates * and open the template in the editor. */package databasesyncdesktopapplication.PlanTaskPool;import com.qixuan.jdbc.common.SourceDataBaseBean;import com.qixuan.jdbc.common.TargetDataBaseBean;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 SourceDataBaseBean sourceBean;    private TargetDataBaseBean targetBean; private final SimpleDateFormat dateFormat =            new SimpleDateFormat("dd MMM yyyy HH:mm:ss.SSS");    public DbSyncTask(SourceDataBaseBean sourceBean,TargetDataBaseBean targetBean) {       this.sourceBean=sourceBean;        this.targetBean = targetBean;    }    public SourceDataBaseBean getSourceBean() {        return sourceBean;    }    public void setSourceBean(SourceDataBaseBean sourceBean) {        this.sourceBean = sourceBean;    }    public TargetDataBaseBean getTargetBean() {        return targetBean;    }    public void setTargetBean(TargetDataBaseBean targetBean) {        this.targetBean = targetBean;    }      @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(targetBean.getConnection());        ALTERTablesUtil.AddColumnByRecordFlag(sourceBean.getConnection());        System.out.println("sourceBean="+sourceBean.getFilePath());        System.out.println("targetBean="+targetBean.getFilePath());		System.out.println("------------------同步开始-------------");		DatabaseMetaDataUtil dbmu = new DatabaseMetaDataUtil(sourceBean.getConnection());				List<String> tableNames = dbmu.getTableNames();		for (String tableName : tableNames) {            if("dtproperties".equals(tableName)){				continue;			}            ResultSetMetaDataUtil rmdu = new ResultSetMetaDataUtil(sourceBean.getConnection(),tableName);			//rmdu.setTableName(tableName);			List<ColumnData> dataList =  rmdu.getColumns();			int count=rmdu.getColumnCount();			System.out.println("表名:"+tableName+",列数="+count+",行数:"+dataList.size());			InsertRecordsToDb ird=new InsertRecordsToDb();			ird.setConn(targetBean.getConnection());			ird.setColumns(dataList);			ird.setTabName(tableName);			ird.setCount(count);			try{			ird.ExecuteInsertSql();			}catch(RuntimeException e){				System.out.println("RuntimeException"+e.getMessage());			}		}		ALTERTablesUtil.UpdateColumnRecordFlag(sourceBean.getConnection(),1);	}}

⌨️ 快捷键说明

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