提交 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 {
private String userName;//用户名
private String password;//密码
private String databaseType;//数据库类型
//private String driver;//数据库驱动
private String driver;//数据库驱动
private String address;//连接地址
private String port;//数据库端口号
//private String connectionType;//数据库连接时的sql
private String connectionType;//数据库连接时的sql
private String loginName;//登录名称
private Integer status;//逻辑删除 0-删除 1-未删除
}
......@@ -12,5 +12,5 @@ public class DatabaseResponse {
private String sourceType;//原库类型
private String createType;//生成库类型
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;
public interface DBManageDao extends JpaRepository<DBManage,Integer> {
DBManage findDatabaseManagementByDatabaseTypeAndStatus(String databaseType, Integer status);
DBManage findDBManageByIdAndStatus(Integer id,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 {
private DBManageDao databaseDao;
/**
* 新增数据库配置文件
* 新增数据库
* @param databaseManagement
* @return
*/
......@@ -29,7 +29,7 @@ public class DBManageServiceImpl implements DBManageService {
/**
* 根据id删除数据库配置文件
* 根据id删除
* @param id
* @return
*/
......@@ -41,7 +41,7 @@ public class DBManageServiceImpl implements DBManageService {
}
/**
* 查找未被逻辑删除的数据库配置文件
* 查找未被逻辑删除
* @return
*/
@Override
......
......@@ -2,9 +2,11 @@ package com.zjty.adaptationmaster.adaptor.service.Impl;
import com.alibaba.fastjson.JSONObject;
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.DBRecord;
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.DBRecordDao;
import com.zjty.adaptationmaster.adaptor.service.DBMigrateService;
......@@ -34,6 +36,8 @@ public class DBMigrateServiceImpl implements DBMigrateService {
private DBManageDao dbManageDao;
@Autowired
private DBRecordDao dbRecordDao;
@Autowired
private DBConfigDao dbConfigDao;
/**
* 创建新数据库和数据库中的表
......@@ -57,12 +61,18 @@ public class DBMigrateServiceImpl implements DBMigrateService {
}
//转换后的.sql文件地址
String path = "";
//根据传入的生成数据库类型,查找未被删除的配置文件
DBConfig dbConfig = dbConfigDao.findDBConfigByDbTypeAndStatus(databaseResponse.getCreateType(),1);
DBManage dbManagement = dbManageDao.findDBManageByIdAndStatus(databaseResponse.getId(),1);
//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);
if(connection != null){
PreparedStatement preparedStatement = null;
......@@ -140,8 +150,8 @@ public class DBMigrateServiceImpl implements DBMigrateService {
if(databaseResponse.getDatabaseName() != null){
dbRecord.setDbName(databaseResponse.getDatabaseName());
}
if(databaseResponse.getUserName() != null){
dbRecord.setUserName(databaseResponse.getUserName());
if(dbManagement.getUserName() != null){
dbRecord.setUserName(dbManagement.getUserName());
}
if(databaseResponse.getSqlPath() != null){
dbRecord.setSqlPath(databaseResponse.getSqlPath());
......@@ -164,7 +174,7 @@ public class DBMigrateServiceImpl implements DBMigrateService {
List<String> dbNameList = new ArrayList<>();
//highgo查询所有数据库
if(dbType.equals("highgo")){
DBManage databaseManagement = dbManageDao.findDatabaseManagementByDatabaseTypeAndStatus(dbType, 1);
DBManage databaseManagement = dbManageDao.findDBManageByIdAndStatus(dbType, 1);
Connection connection = Regular.databaseConnection(databaseManagement);
if (connection != null) {
PreparedStatement preparedStatement = null;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论