提交 763083dc authored 作者: zhangshuang's avatar zhangshuang

zs

上级 370cb070
package com.zjty.adaptationmaster.adaptor.controller;
import com.zjty.adaptationmaster.adaptor.entity.db.DBConfig;
import com.zjty.adaptationmaster.adaptor.service.DBConfigService;
import com.zjty.adaptationmaster.base.response.ServerResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/dbConfig")
public class DBConfigController {
@Autowired
private DBConfigService dbConfigService;
@PostMapping("/save")
public ServerResponse save(@RequestBody DBConfig dbConfig){
return dbConfigService.saveDatabase(dbConfig);
}
@PutMapping("/delete")
public ServerResponse delete(@RequestBody Integer id){
return dbConfigService.deleteDatabase(id);
}
@GetMapping("/find")
public ServerResponse find(){
return dbConfigService.findDatabase();
}
}
package com.zjty.adaptationmaster.adaptor.entity.db;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Data
public class DBConfig {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String dbType;//数据类型
private String driver;//驱动
private String connectionType;//数据库连接时的sql
private Integer status;//逻辑删除 0-删除 1-未删除
}
...@@ -21,9 +21,10 @@ public class DBManage { ...@@ -21,9 +21,10 @@ public class DBManage {
private String userName;//用户名 private String userName;//用户名
private String password;//密码 private String password;//密码
private String databaseType;//数据库类型 private String databaseType;//数据库类型
//private String driver;//数据库驱动 private String driver;//数据库驱动
private String address;//连接地址 private String address;//连接地址
private String port;//数据库端口号 private String port;//数据库端口号
//private String connectionType;//数据库连接时的sql private String connectionType;//数据库连接时的sql
private String loginName;//登录名称
private Integer status;//逻辑删除 0-删除 1-未删除 private Integer status;//逻辑删除 0-删除 1-未删除
} }
...@@ -12,5 +12,5 @@ public class DatabaseResponse { ...@@ -12,5 +12,5 @@ public class DatabaseResponse {
private String sourceType;//原库类型 private String sourceType;//原库类型
private String createType;//生成库类型 private String createType;//生成库类型
private String sqlPath;//上传数据库地址 private String sqlPath;//上传数据库地址
private String userName;//用户名 private Integer id;//用户ID
} }
package com.zjty.adaptationmaster.adaptor.repository;
import com.zjty.adaptationmaster.adaptor.entity.db.DBConfig;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List;
public interface DBConfigDao extends JpaRepository<DBConfig,Integer>, JpaSpecificationExecutor {
List<DBConfig> findDBConfigsByStatus(Integer status);
DBConfig findDBConfigByDbTypeAndStatus(String dbType,Integer status);
@Query("update DBConfig d set d.status =:status where d.id =:id")
@Modifying
void delete(@Param(value = "id") Integer id, @Param(value = "status") Integer status);
}
...@@ -10,7 +10,7 @@ import java.util.List; ...@@ -10,7 +10,7 @@ import java.util.List;
public interface DBManageDao extends JpaRepository<DBManage,Integer> { public interface DBManageDao extends JpaRepository<DBManage,Integer> {
DBManage findDatabaseManagementByDatabaseTypeAndStatus(String databaseType, Integer status); DBManage findDBManageByIdAndStatus(Integer id,Integer status);
List<DBManage> findDatabaseManagementByStatus(Integer status); List<DBManage> findDatabaseManagementByStatus(Integer status);
......
package com.zjty.adaptationmaster.adaptor.service;
import com.zjty.adaptationmaster.adaptor.entity.db.DBConfig;
import com.zjty.adaptationmaster.base.response.ServerResponse;
public interface DBConfigService {
ServerResponse saveDatabase(DBConfig dbConfig);
ServerResponse deleteDatabase(Integer id);
ServerResponse findDatabase();
}
package com.zjty.adaptationmaster.adaptor.service.Impl;
import com.zjty.adaptationmaster.adaptor.entity.db.DBConfig;
import com.zjty.adaptationmaster.adaptor.repository.DBConfigDao;
import com.zjty.adaptationmaster.adaptor.service.DBConfigService;
import com.zjty.adaptationmaster.base.response.ServerResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class DBConfigServiceImpl implements DBConfigService {
@Autowired
private DBConfigDao dbConfigDao;
/**
* 保存配置
* @param dbConfig
* @return
*/
@Override
public ServerResponse saveDatabase(DBConfig dbConfig) {
return ServerResponse.success(dbConfigDao.save(dbConfig));
}
/**
* 删除配置
* @param id
* @return
*/
@Override
public ServerResponse deleteDatabase(Integer id) {
dbConfigDao.delete(id,0);
return ServerResponse.success(id);
}
@Override
public ServerResponse findDatabase() {
return ServerResponse.success(dbConfigDao.findDBConfigsByStatus(1));
}
}
...@@ -16,7 +16,7 @@ public class DBManageServiceImpl implements DBManageService { ...@@ -16,7 +16,7 @@ public class DBManageServiceImpl implements DBManageService {
private DBManageDao databaseDao; private DBManageDao databaseDao;
/** /**
* 新增数据库配置文件 * 新增数据库
* @param databaseManagement * @param databaseManagement
* @return * @return
*/ */
...@@ -29,7 +29,7 @@ public class DBManageServiceImpl implements DBManageService { ...@@ -29,7 +29,7 @@ public class DBManageServiceImpl implements DBManageService {
/** /**
* 根据id删除数据库配置文件 * 根据id删除
* @param id * @param id
* @return * @return
*/ */
...@@ -41,7 +41,7 @@ public class DBManageServiceImpl implements DBManageService { ...@@ -41,7 +41,7 @@ public class DBManageServiceImpl implements DBManageService {
} }
/** /**
* 查找未被逻辑删除的数据库配置文件 * 查找未被逻辑删除
* @return * @return
*/ */
@Override @Override
......
...@@ -2,9 +2,11 @@ package com.zjty.adaptationmaster.adaptor.service.Impl; ...@@ -2,9 +2,11 @@ package com.zjty.adaptationmaster.adaptor.service.Impl;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference; import com.alibaba.fastjson.TypeReference;
import com.zjty.adaptationmaster.adaptor.entity.db.DBConfig;
import com.zjty.adaptationmaster.adaptor.entity.db.DBManage; import com.zjty.adaptationmaster.adaptor.entity.db.DBManage;
import com.zjty.adaptationmaster.adaptor.entity.db.DBRecord; import com.zjty.adaptationmaster.adaptor.entity.db.DBRecord;
import com.zjty.adaptationmaster.adaptor.entity.db.DatabaseResponse; import com.zjty.adaptationmaster.adaptor.entity.db.DatabaseResponse;
import com.zjty.adaptationmaster.adaptor.repository.DBConfigDao;
import com.zjty.adaptationmaster.adaptor.repository.DBManageDao; import com.zjty.adaptationmaster.adaptor.repository.DBManageDao;
import com.zjty.adaptationmaster.adaptor.repository.DBRecordDao; import com.zjty.adaptationmaster.adaptor.repository.DBRecordDao;
import com.zjty.adaptationmaster.adaptor.service.DBMigrateService; import com.zjty.adaptationmaster.adaptor.service.DBMigrateService;
...@@ -34,6 +36,8 @@ public class DBMigrateServiceImpl implements DBMigrateService { ...@@ -34,6 +36,8 @@ public class DBMigrateServiceImpl implements DBMigrateService {
private DBManageDao dbManageDao; private DBManageDao dbManageDao;
@Autowired @Autowired
private DBRecordDao dbRecordDao; private DBRecordDao dbRecordDao;
@Autowired
private DBConfigDao dbConfigDao;
/** /**
* 创建新数据库和数据库中的表 * 创建新数据库和数据库中的表
...@@ -57,12 +61,18 @@ public class DBMigrateServiceImpl implements DBMigrateService { ...@@ -57,12 +61,18 @@ public class DBMigrateServiceImpl implements DBMigrateService {
} }
//转换后的.sql文件地址 //转换后的.sql文件地址
String path = ""; String path = "";
//根据传入的生成数据库类型,查找未被删除的配置文件
DBConfig dbConfig = dbConfigDao.findDBConfigByDbTypeAndStatus(databaseResponse.getCreateType(),1);
DBManage dbManagement = dbManageDao.findDBManageByIdAndStatus(databaseResponse.getId(),1);
//mysql数据库 //mysql数据库
if(databaseResponse.getCreateType().equals("highgo") && databaseResponse.getSourceType().equals("mysql")){ if(databaseResponse.getCreateType().equals("highgo") && databaseResponse.getSourceType().equals("mysql")){
DBManage databaseManagement = new DBManage();
BeanUtils.copyProperties(dbManagement,databaseManagement);
databaseManagement.setDriver(dbConfig.getDriver());
databaseManagement.setConnectionType(dbConfig.getConnectionType());
databaseManagement.setDatabaseName("template0");
//生成数据库的名称 //生成数据库的名称
//连接系统数据库,建立新数据库 //连接系统数据库,建立新数据库
//根据传入的生成数据库类型,查找未被删除的配置文件
DBManage databaseManagement = dbManageDao.findDatabaseManagementByDatabaseTypeAndStatus(databaseResponse.getCreateType(),1);
Connection connection = Regular.databaseConnection(databaseManagement); Connection connection = Regular.databaseConnection(databaseManagement);
if(connection != null){ if(connection != null){
PreparedStatement preparedStatement = null; PreparedStatement preparedStatement = null;
...@@ -140,8 +150,8 @@ public class DBMigrateServiceImpl implements DBMigrateService { ...@@ -140,8 +150,8 @@ public class DBMigrateServiceImpl implements DBMigrateService {
if(databaseResponse.getDatabaseName() != null){ if(databaseResponse.getDatabaseName() != null){
dbRecord.setDbName(databaseResponse.getDatabaseName()); dbRecord.setDbName(databaseResponse.getDatabaseName());
} }
if(databaseResponse.getUserName() != null){ if(dbManagement.getUserName() != null){
dbRecord.setUserName(databaseResponse.getUserName()); dbRecord.setUserName(dbManagement.getUserName());
} }
if(databaseResponse.getSqlPath() != null){ if(databaseResponse.getSqlPath() != null){
dbRecord.setSqlPath(databaseResponse.getSqlPath()); dbRecord.setSqlPath(databaseResponse.getSqlPath());
...@@ -164,7 +174,7 @@ public class DBMigrateServiceImpl implements DBMigrateService { ...@@ -164,7 +174,7 @@ public class DBMigrateServiceImpl implements DBMigrateService {
List<String> dbNameList = new ArrayList<>(); List<String> dbNameList = new ArrayList<>();
//highgo查询所有数据库 //highgo查询所有数据库
if(dbType.equals("highgo")){ if(dbType.equals("highgo")){
DBManage databaseManagement = dbManageDao.findDatabaseManagementByDatabaseTypeAndStatus(dbType, 1); DBManage databaseManagement = dbManageDao.findDBManageByIdAndStatus(dbType, 1);
Connection connection = Regular.databaseConnection(databaseManagement); Connection connection = Regular.databaseConnection(databaseManagement);
if (connection != null) { if (connection != null) {
PreparedStatement preparedStatement = null; PreparedStatement preparedStatement = null;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论