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 + -
显示快捷键?