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")
private String primarys;
private String annotation;
private Integer tableId;
public static TableFie customerBuild(TableFie tableFie, Supplier<TableFie> function) {
return com.muyu.common.domain.TableFie.builder()

View File

@ -1,5 +1,7 @@
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 io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
@ -26,11 +28,12 @@ public class DataRunNameController {
private DataRunNameService dataRunNameService;
/**
*
*
*/
@PostMapping("/addDataTableName")
@Operation(summary = "获取数据库名",description = "从数据库中抽取数据库名称")
public void addDataTableName(){
@Operation(summary = "添加数据库名,表名,结构",description = "获取数据进行添加")
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)){
return Result.success(null,"未查询到结构,请检查数据来源");
}
for (TableFie tableFie : tableFIES) {
tableFieldService.save(tableFie);
}
// for (TableFie tableFie : tableFIES) {
// tableFieldService.save(tableFie);
// }
return Result.success(tableFIES,"您的数据已成功获取");
}

View File

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

View File

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

View File

@ -1,15 +1,20 @@
package com.muyu.server.service.impl;
import com.muyu.common.domain.Connect;
import com.muyu.common.domain.DataName;
import com.muyu.common.domain.TableFie;
import com.muyu.common.domain.TableNames;
import com.muyu.server.mapper.DataRunNameMapper;
import com.muyu.server.service.DataNameService;
import com.muyu.server.service.DataRunNameService;
import com.muyu.server.service.DataSourceService;
import com.muyu.server.service.TableFieldService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.AtomicReference;
/**
* @Authoryang
@ -25,6 +30,14 @@ public class DataRunNameServiceImpl implements DataRunNameService {
private DataRunNameMapper dataRunNameMapper;
@Autowired
private TableRunNameServiceImpl tableRunNameService;
@Autowired
private DataNameService dataNameService;
@Autowired
private DataSourceService dataSourceService;
@Autowired
private TableFieldService tableFieldService;
@Override
public void addDataRunName(ArrayList<DataName> list) {
@ -40,4 +53,27 @@ public class DataRunNameServiceImpl implements DataRunNameService {
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 {
DruidDataSource druidDataSource = new DruidDataSource();
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.setPassword(connect.getPassword());
//"com.mysql.cj.jdbc.Driver"
@ -47,7 +50,8 @@ public class JdbcHelper {
try {
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.setPassword("Bwie-8666");
//"com.mysql.cj.jdbc.Driver"
@ -69,7 +73,10 @@ public class JdbcHelper {
try {
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.setPassword("Bwie-8666");
//"com.mysql.cj.jdbc.Driver"