diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/AccreditController.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/AccreditController.java index b8e63a5..66cd665 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/AccreditController.java +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/AccreditController.java @@ -139,8 +139,8 @@ public class AccreditController extends BaseController { * @return */ @PostMapping("/selNameListStructure") - public Result> selNameListStructure(@RequestParam String databaseName,@RequestParam String tableName){ - List list = service.selNameListStructure(databaseName,tableName); + public Result> selNameListStructure(@RequestParam String tableName,@RequestParam String databaseName){ + List list = service.selNameListStructure(tableName,databaseName); return success(list); } diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/DataAccessController.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/DataAccessController.java index 036922f..0b6a85f 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/DataAccessController.java +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/DataAccessController.java @@ -127,4 +127,6 @@ public class DataAccessController extends BaseController return error("同步失败"); } } + + } diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/TableList.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/TableList.java index 8909824..bf8cc2e 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/TableList.java +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/TableList.java @@ -24,7 +24,7 @@ public class TableList { /** *备注 */ - private String as; + private String asas; /** *数据 */ diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/vo/FrimaryVo.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/vo/FrimaryVo.java index 92f6174..6073929 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/vo/FrimaryVo.java +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/vo/FrimaryVo.java @@ -23,6 +23,14 @@ public class FrimaryVo { * 数据库名称 */ private String databaseName; + /** + * 表数量 + */ + private Integer tableNameNum; + /** + * 总数数据 + */ + private Integer dataTotal; /** * 状态 */ diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/AccreditMapper.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/AccreditMapper.java index c4d6c1b..1471504 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/AccreditMapper.java +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/AccreditMapper.java @@ -25,13 +25,12 @@ public interface AccreditMapper { void insertListStructure(ListStructure listStructure); - void inserttableList(@Param("databaseName") String databaseName,@Param("s") String s); List listListstructure(); TableList selNameTableList(@Param("databaseName") String databaseName, @Param("name") String name); - List selNameListStructure(@Param("databaseName") String databaseName, @Param("tableName") String tableName); + List selNameListStructure(@Param("tableName") String tableName, @Param("databaseName") String databaseName); int selectOneTableList(@Param("databaseName") String databaseName, @Param("s") String s); @@ -59,4 +58,5 @@ public interface AccreditMapper { List listMiddle2(@Param("databaseName") String databaseName); + } diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/DataAccessMapper.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/DataAccessMapper.java index 3dbff98..7f0ae4c 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/DataAccessMapper.java +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/DataAccessMapper.java @@ -69,8 +69,6 @@ public interface DataAccessMapper void insertMiddle(@Param("deptId") Long deptId, @Param("id") Long id,@Param("databaseName") String databaseName, @Param("tableName") String tableName); - void indexFrimary(DataAccess dataAccess); - Integer oneSelFrimary(DataAccess dataAccess); void insertUserMiddle(@Param("userId") Long userId, @Param("id") Long id,@Param("databaseName") String databaseName, @Param("tableName") String tableName); @@ -80,4 +78,12 @@ public interface DataAccessMapper Integer selectOneUserMiddel(@Param("userId") Long userId, @Param("id") Long id, @Param("databaseName") String databaseName, @Param("tableName") String tableName); void deleteFrimary(DataAccess dataAccess); + + void indexFrimary(@Param("dataAccess") DataAccess dataAccess, @Param("num") Integer num, @Param("i") Integer i); + + void inserttableList(@Param("dataAccess") DataAccess dataAccess, @Param("tableName") String tableName, @Param("annotation") String annotation, @Param("anInt") int anInt); + + void deleteTableList(DataAccess dataAccess); + + Integer selectAccessMapper(DataAccess dataAccess); } diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/AccreditService.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/AccreditService.java index f8b1e8a..071c9ab 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/AccreditService.java +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/AccreditService.java @@ -24,7 +24,7 @@ public interface AccreditService { TableList selNameTableList(String databaseName,String name); - List selNameListStructure(String databaseName,String tableName); + List selNameListStructure(String tableName,String databaseName); Integer updateListStructure(ListStructure listStructure); diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/IDataAccessService.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/IDataAccessService.java index 2117835..f3b43f6 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/IDataAccessService.java +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/IDataAccessService.java @@ -62,7 +62,7 @@ public interface IDataAccessService DataAccess oneDataAccess(); - Integer synchronization(DataAccess dataAccess); + Integer synchronization(DataAccess dataAccess) throws Exception; } diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/AccreditServiceImpl.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/AccreditServiceImpl.java index 075b92d..ad7cd2a 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/AccreditServiceImpl.java +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/AccreditServiceImpl.java @@ -115,8 +115,8 @@ public class AccreditServiceImpl implements AccreditService { } @Override - public List selNameListStructure(String databaseName,String tableName) { - return mapper.selNameListStructure(databaseName,tableName); + public List selNameListStructure(String tableName,String databaseName) { + return mapper.selNameListStructure(tableName,databaseName); } diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/DataAccessServiceImpl.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/DataAccessServiceImpl.java index b9d31de..08011e2 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/DataAccessServiceImpl.java +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/DataAccessServiceImpl.java @@ -22,6 +22,10 @@ import java.sql.ResultSet; import java.sql.DriverManager; import java.sql.Connection; import java.sql.DatabaseMetaData; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.LinkedBlockingDeque; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; /** @@ -127,131 +131,216 @@ public class DataAccessServiceImpl implements IDataAccessService } @Override - public Integer synchronization(DataAccess dataAccess) { + public Integer synchronization(DataAccess dataAccess) throws Exception { Integer id = 0; List stringList = new ArrayList<>(); - //获取连接 - //加载数据库驱动 - try { - Class aClass = Class.forName("com.mysql.cj.jdbc.Driver"); - Driver driver = (Driver) aClass.newInstance(); - //获取数据库连接 - Connection connection = DriverManager.getConnection("jdbc:mysql://" + dataAccess.getHost() + ":"+ dataAccess.getPort() +"/"+ dataAccess.getDatabaseName() +"?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8",dataAccess.getUsername(),dataAccess.getPassword()); - //获取数据库名 - //获取数据库的元数据 - DatabaseMetaData metaData = connection.getMetaData(); - //获取全部表名 - Statement statement = connection.createStatement(); - ResultSet rs = statement.executeQuery("SHOW TABLES"); - ResultSet rst = statement.executeQuery("select TABLE_NAME, TABLE_COMMENT from INFORMATION_SCHEMA.Tables where table_schema = " + dataAccess.getDatabaseName()); - - //获取字段名 -// while (rs.next()){ -// stringList.add(rs.getString(1)); -// } -// accreditMapper.delOneTableList(dataAccess.getDatabaseName(),); - while (rst.next()){ - System.out.println("表名"+rst.getString(1)+",注释:"+rst.getString(2)); - //框架子类 -// accreditMapper.inserttableList(dataAccess,s); + // 连接数据 +// Class aClass = Class.forName("com.mysql.cj.jdbc.Driver"); +// Driver driver = (Driver) aClass.newInstance(); +//// //获取数据库连接 +// Connection connection = DriverManager.getConnection("jdbc:mysql://" + dataAccess.getHost() + ":"+ dataAccess.getPort() +"/"+ dataAccess.getDatabaseName() +"?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8",dataAccess.getUsername(),dataAccess.getPassword()); +//// //获取数据库名 +//// //获取数据库的元数据 +// DatabaseMetaData metaData = connection.getMetaData(); +// //获取全部表名 +// Statement statement = connection.createStatement(); + //开启多线程池 +// ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(10, 50, 10, TimeUnit.MINUTES, new LinkedBlockingDeque<>(10)); + ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(Integer.valueOf(dataAccess.getInitNum().toString()), Integer.valueOf(dataAccess.getMaxNum().toString()), Integer.valueOf(dataAccess.getMaxWaitTime().toString()), TimeUnit.SECONDS, new LinkedBlockingDeque<>(Integer.valueOf(dataAccess.getMaxWaitSize().toString()))); + //第一个 树形表 + CompletableFuture completable1 = CompletableFuture.supplyAsync(() -> { + //先清除同数据库叶子表 + Integer ini = dataAccessMapper.selectAccessMapper(dataAccess); + if (ini>0){ + dataAccessMapper.deleteTableList(dataAccess); } -// accreditMapper.delListStructure(dataAccess.getDatabaseName()); - // 表介绍 + Integer num = 0; + Integer i = 0; + try { + // 连接数据 + Class aClass = Class.forName("com.mysql.cj.jdbc.Driver"); + Driver driver = (Driver) aClass.newInstance(); +// //获取数据库连接 + Connection connection = DriverManager.getConnection("jdbc:mysql://" + dataAccess.getHost() + ":"+ dataAccess.getPort() +"/"+ dataAccess.getDatabaseName() +"?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8",dataAccess.getUsername(),dataAccess.getPassword()); +// //获取数据库名 +// //获取数据库的元数据 + DatabaseMetaData metaData = connection.getMetaData(); + //获取全部表名 + Statement statement = connection.createStatement(); + ResultSet rst = statement.executeQuery("select TABLE_NAME, TABLE_COMMENT from INFORMATION_SCHEMA.Tables where table_schema = '" + dataAccess.getDatabaseName() + "'"); + while (rst.next()) { + PreparedStatement preparedStatement = connection.prepareStatement("select count(*) from " + rst.getString(1)); + ResultSet rls = preparedStatement.executeQuery(); + while (rls.next()) { + int anInt = rls.getInt(1); + // 叶子类增加 + num += anInt; + i++; + dataAccessMapper.inserttableList(dataAccess, rst.getString(1), rst.getString(2), anInt); + System.out.println("表名" + rst.getString(1) + ",注释:" + rst.getString(2) + "数量:" + anInt); + } + } + // 处理树表 + dataAccessMapper.deleteFrimary(dataAccess); + dataAccessMapper.indexFrimary(dataAccess, num, i); + rst.close(); + } catch (SQLException e) { + throw new RuntimeException(e); + } catch (ClassNotFoundException e) { + throw new RuntimeException(e); + } catch (InstantiationException e) { + throw new RuntimeException(e); + } catch (IllegalAccessException e) { + throw new RuntimeException(e); + } + return 1; + }, threadPoolExecutor); + //第二个 部门中间表 用户中间表 + CompletableFuture completable2 = CompletableFuture.supplyAsync(() -> { + //获取全部表名 + ResultSet rs = null; + try { + // 连接数据 + Class aClass = Class.forName("com.mysql.cj.jdbc.Driver"); + Driver driver = (Driver) aClass.newInstance(); +// //获取数据库连接 + Connection connection = DriverManager.getConnection("jdbc:mysql://" + dataAccess.getHost() + ":"+ dataAccess.getPort() +"/"+ dataAccess.getDatabaseName() +"?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8",dataAccess.getUsername(),dataAccess.getPassword()); +// //获取数据库名 +// //获取数据库的元数据 + DatabaseMetaData metaData = connection.getMetaData(); + //获取全部表名 + Statement statement = connection.createStatement(); + rs = statement.executeQuery("SHOW TABLES"); + //获取所有部门 + List list = sysDeptMapper.listDeptList(); + //获取所有用户 + List sysUserVos = sysUserMapper.listSelectSysUser(); + while (rs.next()) { + /** + *部门 + */ + for (SysDept sysDept : list) { + Integer sysDeptIds = dataAccessMapper.selectOneMiddel(sysDept.getDeptId(), dataAccess.getId(), dataAccess.getDatabaseName(), rs.getString(1)); + if (sysDeptIds == 0) { + //添加中间件 + dataAccessMapper.insertMiddle(sysDept.getDeptId(), dataAccess.getId(), dataAccess.getDatabaseName(), rs.getString(1)); + } + } + //用户 + for (SysUserVo sysUserVo : sysUserVos) { + Integer sysUserVoIds = dataAccessMapper.selectOneUserMiddel(sysUserVo.getUserId(), dataAccess.getId(), dataAccess.getDatabaseName(), rs.getString(1)); + if (sysUserVoIds == 0) { + //添加中间件 + dataAccessMapper.insertUserMiddle(sysUserVo.getUserId(), dataAccess.getId(), dataAccess.getDatabaseName(), rs.getString(1)); + } + } + } + } catch (SQLException e) { + throw new RuntimeException(e); + } catch (ClassNotFoundException e) { + throw new RuntimeException(e); + } catch (InstantiationException e) { + throw new RuntimeException(e); + } catch (IllegalAccessException e) { + throw new RuntimeException(e); + } + //获取字段名 + return 1; + }, threadPoolExecutor); + //第三个 + CompletableFuture completable3 = CompletableFuture.supplyAsync(() -> { + try { + // 连接数据 + Class aClass = Class.forName("com.mysql.cj.jdbc.Driver"); + Driver driver = (Driver) aClass.newInstance(); +// //获取数据库连接 + Connection connection = DriverManager.getConnection("jdbc:mysql://" + dataAccess.getHost() + ":"+ dataAccess.getPort() +"/"+ dataAccess.getDatabaseName() +"?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8",dataAccess.getUsername(),dataAccess.getPassword()); +// //获取数据库名 +// //获取数据库的元数据 + DatabaseMetaData metaData = connection.getMetaData(); + //获取全部表名 + Statement statement = connection.createStatement(); + //获取全部表名 + ResultSet rs = statement.executeQuery("SHOW TABLES"); - //处理表名 -// for (String s : stringList) { -// int i1 = accreditMapper.selectOneSqlJdbc(dataAccess.getDatabaseName(),s); -// if (i1>0){ -// }else{ -// PreparedStatement pst = connection.prepareCall("select * from " + s); -// ResultSetMetaData rsd = pst.getMetaData(); -// //获取元数据 -// DatabaseMetaData metaData1 = connection.getMetaData(); -// Map columnComments =getColumnComments(metaData,s); -// //添加数据结构 -// for (int i = 0; i < rsd.getColumnCount(); i++) { -// System.out.println("java类型" + rsd.getColumnClassName(i + 1)); -// System.out.println("数据库类型" + rsd.getColumnTypeName(i + 1)); -// System.out.println("字段名称" + rsd.getColumnName(i + 1)); -// System.out.println("表名" + rsd.getTableName(i + 1)); -// System.out.println("数据库名" + rsd.getCatalogName(i + 1)); -// System.out.println("模式名" + rsd.getSchemaName(i + 1)); -// System.out.println("列数" + rsd.getColumnCount()); -// System.out.println("列类型" + rsd.getColumnType(i + 1)); -// System.out.println("列标签" + rsd.getColumnLabel(i + 1)); -// System.out.println("列显示大小" + rsd.getColumnDisplaySize(i + 1)); -// System.out.println("精度" + rsd.getPrecision(i + 1)); -// System.out.println("规模" + rsd.getScale(i + 1)); -// System.out.println("自增" + rsd.isAutoIncrement(i + 1)); -// System.out.println("是否为空" + rsd.isNullable(i + 1)); -// System.out.println("区分大小写" + rsd.isCaseSensitive(i + 1)); -// System.out.println("是否是货币" + rsd.isCurrency(i + 1)); -// System.out.println("可搜索" + rsd.isSearchable(i + 1)); -// System.out.println("签署" + rsd.isSigned(i + 1)); -// System.out.println("绝对可以写" + rsd.isDefinitelyWritable(i + 1)); -// System.out.println("只读" + rsd.isReadOnly(i + 1)); -// System.out.println("是可写的" + rsd.isWritable(i + 1)); -// System.out.println("注解" + columnComments.get(rsd.getColumnName(i + 1))); -// ListStructure listStructure = new ListStructure(); -// //获取数据库名 -// listStructure.setCatalogName(rsd.getCatalogName(i + 1)); -// //获取表名 -// listStructure.setTableName(rsd.getTableName(i + 1)); -// //获取java类型 -// listStructure.setColumnLassName(rsd.getColumnClassName(i + 1)); -// //获取映射类型 -// listStructure.setColumnTypeName(rsd.getColumnTypeName(i + 1)); -// //获取字段名称 -// listStructure.setColumnName(rsd.getColumnName(i + 1)); -// //获取长度 -// listStructure.setPrecisions(rsd.getPrecision(i + 1)); -// //获取小数 -// listStructure.setScale(rsd.getScale(i + 1)); -// //获取非空 -// listStructure.setIsNull(rsd.isNullable(i + 1)); -// //获取默认 -// listStructure.setSchemaName(rsd.getSchemaName(i + 1)); -// //获取注解 -// listStructure.setColumnComments(columnComments.get(rsd.getColumnName(i + 1))); -// accreditMapper.insertListStructure(listStructure); -// } -// } -// /** -// * 获取所有的部门 -// */ -// List list = sysDeptMapper.listDeptList(); -// for (SysDept sysDept : list) { -// Integer sysDeptIds = dataAccessMapper.selectOneMiddel(sysDept.getDeptId(),dataAccess.getId(),dataAccess.getDatabaseName(),s); -// if (sysDeptIds == 0){ -// //添加中间件 -// dataAccessMapper.insertMiddle(sysDept.getDeptId(),dataAccess.getId(),dataAccess.getDatabaseName(),s); -// } -// } -// //获取所有用户 -// List sysUserVos = sysUserMapper.listSelectSysUser(); -// for (SysUserVo sysUserVo : sysUserVos) { -// Integer sysUserVoIds = dataAccessMapper.selectOneUserMiddel(sysUserVo.getUserId(),dataAccess.getId(),dataAccess.getDatabaseName(),s); -// if (sysUserVoIds == 0){ -// //添加中间件 -// dataAccessMapper.insertUserMiddle(sysUserVo.getUserId(),dataAccess.getId(),dataAccess.getDatabaseName(),s); -// } -// } -// } - //关闭连接 - connection.close(); - } catch (Exception e) { - throw new RuntimeException(e); + //获取字段名 + while (rs.next()) { + stringList.add(rs.getString(1)); + } + //处理表名 + for (String s : stringList) { + int i1 = accreditMapper.selectOneSqlJdbc(dataAccess.getDatabaseName(), s); + if (i1 > 0) { + } else { + PreparedStatement pst = connection.prepareCall("select * from " + s); + ResultSetMetaData rsd = pst.getMetaData(); + //获取元数据 + DatabaseMetaData metaData1 = connection.getMetaData(); + Map columnComments = getColumnComments(metaData, s); + //添加数据结构 + for (int i = 0; i < rsd.getColumnCount(); i++) { + System.out.println("java类型" + rsd.getColumnClassName(i + 1)); + System.out.println("数据库类型" + rsd.getColumnTypeName(i + 1)); + System.out.println("字段名称" + rsd.getColumnName(i + 1)); + System.out.println("表名" + rsd.getTableName(i + 1)); + System.out.println("数据库名" + rsd.getCatalogName(i + 1)); + System.out.println("模式名" + rsd.getSchemaName(i + 1)); + System.out.println("列数" + rsd.getColumnCount()); + System.out.println("列类型" + rsd.getColumnType(i + 1)); + System.out.println("列标签" + rsd.getColumnLabel(i + 1)); + System.out.println("列显示大小" + rsd.getColumnDisplaySize(i + 1)); + System.out.println("精度" + rsd.getPrecision(i + 1)); + System.out.println("规模" + rsd.getScale(i + 1)); + System.out.println("自增" + rsd.isAutoIncrement(i + 1)); + System.out.println("是否为空" + rsd.isNullable(i + 1)); + System.out.println("区分大小写" + rsd.isCaseSensitive(i + 1)); + System.out.println("是否是货币" + rsd.isCurrency(i + 1)); + System.out.println("可搜索" + rsd.isSearchable(i + 1)); + System.out.println("签署" + rsd.isSigned(i + 1)); + System.out.println("绝对可以写" + rsd.isDefinitelyWritable(i + 1)); + System.out.println("只读" + rsd.isReadOnly(i + 1)); + System.out.println("是可写的" + rsd.isWritable(i + 1)); + System.out.println("注解" + columnComments.get(rsd.getColumnName(i + 1))); + ListStructure listStructure = new ListStructure(); + //获取数据库名 + listStructure.setCatalogName(rsd.getCatalogName(i + 1)); + //获取表名 + listStructure.setTableName(rsd.getTableName(i + 1)); + //获取java类型 + listStructure.setColumnLassName(rsd.getColumnClassName(i + 1)); + //获取映射类型 + listStructure.setColumnTypeName(rsd.getColumnTypeName(i + 1)); + //获取字段名称 + listStructure.setColumnName(rsd.getColumnName(i + 1)); + //获取长度 + listStructure.setPrecisions(rsd.getPrecision(i + 1)); + //获取小数 + listStructure.setScale(rsd.getScale(i + 1)); + //获取非空 + listStructure.setIsNull(rsd.isNullable(i + 1)); + //获取默认 + listStructure.setSchemaName(rsd.getSchemaName(i + 1)); + //获取注解 + listStructure.setColumnComments(columnComments.get(rsd.getColumnName(i + 1))); + accreditMapper.insertListStructure(listStructure); + } + } + } + } catch (Exception e) { + return 0; + } + return 1; + }, threadPoolExecutor); + + System.out.println(completable1.join()); + System.out.println(completable2.join()); + System.out.println(completable3.join()); + if (completable1.join()+completable2.join()+completable3.join() == 3){ + id = 1; + }else{ + id = 0; } - //获取结构父类比表 -// Integer in = dataAccessMapper.oneSelFrimary(dataAccess); -// if (in<=0){ -// dataAccessMapper.indexFrimary(dataAccess); -// }else{ -// dataAccessMapper.deleteFrimary(dataAccess); -// dataAccessMapper.indexFrimary(dataAccess); -// } - id = 1; return id; } diff --git a/muyu-modules/muyu-system/src/main/resources/mapper/system/AccreditMapper.xml b/muyu-modules/muyu-system/src/main/resources/mapper/system/AccreditMapper.xml index fa59dd5..8a5cb0a 100644 --- a/muyu-modules/muyu-system/src/main/resources/mapper/system/AccreditMapper.xml +++ b/muyu-modules/muyu-system/src/main/resources/mapper/system/AccreditMapper.xml @@ -11,10 +11,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" insert into list_structure (catalog_name,table_name,column_lass_name,column_type_name,column_name,precisions,scale,is_null,schema_name,column_comments) values (#{catalogName},#{tableName},#{columnLassName},#{columnTypeName},#{columnName},#{precisions},#{scale},#{isNull},#{schemaName},#{columnComments}); - - insert into tableList (database_name,name) - values (#{databaseName},#{s}); - update list_structure set yes_or_no = #{yesOrNo}, @@ -67,7 +63,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + insert into data_access @@ -107,6 +107,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" insert into user_maiddle (id,user_id,database_name,table_name,status_id) values (#{id},#{userId},#{databaseName},#{tableName},0); + + insert into frimary (id,name,systemName,databaseName,tableNameNum,dataTotal) + values (#{dataAccess.id},#{dataAccess.name},#{dataAccess.systemName},#{dataAccess.databaseName},#{i},#{num}); + + + + insert into tablelist (id,name,systemName,databaseName,tableName,asas,dataTotal) + values (#{dataAccess.id},#{dataAccess.name},#{dataAccess.systemName},#{dataAccess.databaseName},#{tableName},#{annotation},#{anInt}); + update data_access @@ -142,6 +151,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" delete from frimary - where id = #{id} and databaseName = #{databaseName} + where id = #{id} + + + delete + from tablelist + where id = #{id}