fine:()添加同步方法

master
Yueng 2024-08-28 01:49:48 +08:00
parent 06dfa57f26
commit ddaa1765ad
7 changed files with 64 additions and 17 deletions

View File

@ -31,6 +31,7 @@ public class TableFie{
@TableField(value = "primarys") @TableField(value = "primarys")
private String primarys; private String primarys;
private String annotation; private String annotation;
private Integer tableId;
public static TableFie customerBuild(TableFie tableFie, Supplier<TableFie> function) { public static TableFie customerBuild(TableFie tableFie, Supplier<TableFie> function) {
return com.muyu.common.domain.TableFie.builder() return com.muyu.common.domain.TableFie.builder()

View File

@ -1,5 +1,7 @@
package com.muyu.server.controller; package com.muyu.server.controller;
import com.muyu.common.core.domain.Result;
import com.muyu.common.domain.Connect;
import com.muyu.server.service.DataRunNameService; import com.muyu.server.service.DataRunNameService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
@ -26,11 +28,12 @@ public class DataRunNameController {
private DataRunNameService dataRunNameService; private DataRunNameService dataRunNameService;
/** /**
* *
*/ */
@PostMapping("/addDataTableName") @PostMapping("/addDataTableName")
@Operation(summary = "获取数据库名",description = "从数据库中抽取数据库名称") @Operation(summary = "添加数据库名,表名,结构",description = "获取数据进行添加")
public void addDataTableName(){ public Result<String> addDataTableName(Connect connect){
dataRunNameService.addDataTableName(connect);
return Result.success(null,"同步成功");
} }
} }

View File

@ -53,9 +53,9 @@ public class DataSourceController {
if (CollectionUtils.isEmpty(tableFIES)){ if (CollectionUtils.isEmpty(tableFIES)){
return Result.success(null,"未查询到结构,请检查数据来源"); return Result.success(null,"未查询到结构,请检查数据来源");
} }
for (TableFie tableFie : tableFIES) { // for (TableFie tableFie : tableFIES) {
tableFieldService.save(tableFie); // tableFieldService.save(tableFie);
} // }
return Result.success(tableFIES,"您的数据已成功获取"); return Result.success(tableFIES,"您的数据已成功获取");
} }

View File

@ -1,5 +1,6 @@
package com.muyu.server.service; package com.muyu.server.service;
import com.muyu.common.domain.Connect;
import com.muyu.common.domain.DataName; import com.muyu.common.domain.DataName;
import java.util.ArrayList; import java.util.ArrayList;
@ -17,4 +18,9 @@ public interface DataRunNameService {
* @param list * @param list
*/ */
void addDataRunName(ArrayList<DataName> list); void addDataRunName(ArrayList<DataName> list);
/**
*
*/
void addDataTableName(Connect connect);
} }

View File

@ -32,7 +32,6 @@ public class DataNameServiceImpl
implements DataNameService { implements DataNameService {
private final DataNameService dataNameService; private final DataNameService dataNameService;
private final TableRunNameService tableRunNameService;
/** /**
* *
* @return * @return
@ -52,15 +51,10 @@ public class DataNameServiceImpl
ArrayList<DataName> list = new ArrayList<>(); ArrayList<DataName> list = new ArrayList<>();
while (rs.next()) { while (rs.next()) {
String database = rs.getString("Database"); String database = rs.getString("Database");
List<TableNames> tableNames = tableRunNameService.extractTableName(database);
list.add(new DataName(0,database)); list.add(new DataName(0,database));
} }
JdbcHelper.close(conn,preparedStatement,rs); JdbcHelper.close(conn,preparedStatement,rs);
dataNameService.saveBatch(list);
for (DataName dataName : list) {
}
return list; return list;
} catch (SQLException e) { } catch (SQLException e) {

View File

@ -1,15 +1,20 @@
package com.muyu.server.service.impl; package com.muyu.server.service.impl;
import com.muyu.common.domain.Connect;
import com.muyu.common.domain.DataName; import com.muyu.common.domain.DataName;
import com.muyu.common.domain.TableFie;
import com.muyu.common.domain.TableNames; import com.muyu.common.domain.TableNames;
import com.muyu.server.mapper.DataRunNameMapper; import com.muyu.server.mapper.DataRunNameMapper;
import com.muyu.server.service.DataNameService;
import com.muyu.server.service.DataRunNameService; import com.muyu.server.service.DataRunNameService;
import com.muyu.server.service.DataSourceService; import com.muyu.server.service.DataSourceService;
import com.muyu.server.service.TableFieldService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.concurrent.atomic.AtomicReference;
/** /**
* @Authoryang * @Authoryang
@ -25,6 +30,14 @@ public class DataRunNameServiceImpl implements DataRunNameService {
private DataRunNameMapper dataRunNameMapper; private DataRunNameMapper dataRunNameMapper;
@Autowired @Autowired
private TableRunNameServiceImpl tableRunNameService; private TableRunNameServiceImpl tableRunNameService;
@Autowired
private DataNameService dataNameService;
@Autowired
private DataSourceService dataSourceService;
@Autowired
private TableFieldService tableFieldService;
@Override @Override
public void addDataRunName(ArrayList<DataName> list) { public void addDataRunName(ArrayList<DataName> list) {
@ -40,4 +53,27 @@ public class DataRunNameServiceImpl implements DataRunNameService {
dataRunNameMapper.addTableRunName(tableNames1); dataRunNameMapper.addTableRunName(tableNames1);
} }
@Override
public void addDataTableName(Connect connect) {
//获取数据库名称
List<DataName> dataNames = dataNameService.extractDataName();
List<TableNames> tableNames = null;
AtomicReference<List<TableFie>> tableFies = new AtomicReference<>();
dataNameService.saveBatch(dataNames);
for (DataName dataName : dataNames) {
//获取数据库表的名称
tableNames = tableRunNameService.extractTableName(dataName.getName());
tableNames.forEach(tableName -> {
tableName.setDataId(dataName.getId());
tableFies.set(dataSourceService.extractTableField(connect));
tableFies.get().forEach(tableFy -> {
tableFy.setTableId(tableName.getId());
});
});
}
tableRunNameService.saveBatch(tableNames);
tableFieldService.saveBatch(tableFies.get());
}
} }

View File

@ -25,7 +25,10 @@ public class JdbcHelper {
try { try {
DruidDataSource druidDataSource = new DruidDataSource(); DruidDataSource druidDataSource = new DruidDataSource();
String dcp = connect.getDataConnParam(); String dcp = connect.getDataConnParam();
druidDataSource.setUrl(new ConnectReq().getURL()+connect.getIpAddress()+":"+connect.getPort()+"/"+connect.getDatabaseName() + (dcp != null && !dcp.isEmpty()? "?" + dcp : "")); druidDataSource.setUrl(new ConnectReq().getURL()
+connect.getIpAddress()+":"+connect.getPort()+
"/"+connect.getDatabaseName() +
(dcp != null && !dcp.isEmpty()? "?" + dcp : ""));
druidDataSource.setUsername(connect.getUserName()); druidDataSource.setUsername(connect.getUserName());
druidDataSource.setPassword(connect.getPassword()); druidDataSource.setPassword(connect.getPassword());
//"com.mysql.cj.jdbc.Driver" //"com.mysql.cj.jdbc.Driver"
@ -47,7 +50,8 @@ public class JdbcHelper {
try { try {
DruidDataSource druidDataSource = new DruidDataSource(); DruidDataSource druidDataSource = new DruidDataSource();
druidDataSource.setUrl("jdbc:mysql://21.12.0.10:3306/h6_cloud_server?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8"); druidDataSource.setUrl("jdbc:mysql://21.12.0.10:3306/h6_cloud_server?useUnicode=true&characterEncoding" +
"=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8");
druidDataSource.setUsername("root"); druidDataSource.setUsername("root");
druidDataSource.setPassword("Bwie-8666"); druidDataSource.setPassword("Bwie-8666");
//"com.mysql.cj.jdbc.Driver" //"com.mysql.cj.jdbc.Driver"
@ -69,7 +73,10 @@ public class JdbcHelper {
try { try {
DruidDataSource druidDataSource = new DruidDataSource(); DruidDataSource druidDataSource = new DruidDataSource();
druidDataSource.setUrl("jdbc:mysql://21.12.0.10:3306/"+name+"?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8"); druidDataSource.setUrl("jdbc:mysql://21.12.0.10:3306/"
+name+
"?useUnicode=true&characterEncoding=" +
"utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8");
druidDataSource.setUsername("root"); druidDataSource.setUsername("root");
druidDataSource.setPassword("Bwie-8666"); druidDataSource.setPassword("Bwie-8666");
//"com.mysql.cj.jdbc.Driver" //"com.mysql.cj.jdbc.Driver"