提交 6114da6a authored 作者: zhangshuang's avatar zhangshuang

合并分支 'zs' 到 'master'

Zs 查看合并请求 ty_wyl/adaptation-master1!11
......@@ -19,8 +19,8 @@ public class DBMigrateController {
}
@PutMapping("/find")
public ServerResponse find(@RequestBody String dbType){
return dbMigrateService.findDBByDBType(dbType);
public ServerResponse find(@RequestBody Integer id){
return dbMigrateService.findDBByDBType(id);
}
}
......@@ -10,4 +10,5 @@ import lombok.NoArgsConstructor;
public class DBDeleteResponse {
private String dbName;//数据库名称
private String dbType;//数据库类型
private Integer id;
}
......@@ -4,10 +4,7 @@ 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;
import javax.persistence.*;
@AllArgsConstructor
@NoArgsConstructor
......@@ -17,13 +14,14 @@ public class DBManage {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String databaseName;//数据库名字
private String configName;//配置名称
private String userName;//用户名
private String password;//密码
private String databaseType;//数据库类型
//private String driver;//数据库驱动
private String address;//连接地址
private String port;//数据库端口号
//private String connectionType;//数据库连接时的sql
private String databaseName;//数据库名字
private String connectionType;//数据库连接时的sql
private String driver;//数据库驱动
private Integer status;//逻辑删除 0-删除 1-未删除
}
package com.zjty.adaptationmaster.adaptor.entity.db;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class DBNameReturn {
List<String> dbName;
Integer status;//连接状态1-连接0-未连接
}
......@@ -12,5 +12,5 @@ public class DatabaseResponse {
private String sourceType;//原库类型
private String createType;//生成库类型
private String sqlPath;//上传数据库地址
private String userName;//用户名
private Integer id;//用户ID
}
......@@ -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);
......
......@@ -8,6 +8,6 @@ public interface DBMigrateService {
ServerResponse dbMigrate(DatabaseResponse databaseResponse);
ServerResponse findDBByDBType(String dbType);
ServerResponse findDBByDBType(Integer id);
}
......@@ -6,6 +6,7 @@ import com.zjty.adaptationmaster.adaptor.repository.DBManageDao;
import com.zjty.adaptationmaster.adaptor.service.DBManageService;
import com.zjty.adaptationmaster.base.response.ServerResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......@@ -14,6 +15,12 @@ public class DBManageServiceImpl implements DBManageService {
@Autowired
private DBManageDao databaseDao;
@Value("${highgo.driver}")
private String highDriver;
@Value("${highgo.connectionType}")
private String highConnectionType;
@Value("${highgo.dbName}")
private String highDBName;
/**
* 新增数据库配置文件
......@@ -24,6 +31,11 @@ public class DBManageServiceImpl implements DBManageService {
@Transactional
public ServerResponse saveDatabase(DBManage databaseManagement) {
databaseManagement.setStatus(1);//1-未删除
if(databaseManagement.getDatabaseType().equals("highgo")){
databaseManagement.setDatabaseName(highDBName);
databaseManagement.setDriver(highDriver);
databaseManagement.setConnectionType(highConnectionType);
}
return ServerResponse.success(databaseDao.save(databaseManagement));
}
......
package com.zjty.adaptationmaster.adaptor.service.Impl;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.zjty.adaptationmaster.adaptor.entity.db.DBManage;
import com.zjty.adaptationmaster.adaptor.entity.db.DBNameReturn;
import com.zjty.adaptationmaster.adaptor.entity.db.DBRecord;
import com.zjty.adaptationmaster.adaptor.entity.db.DatabaseResponse;
import com.zjty.adaptationmaster.adaptor.repository.DBManageDao;
......@@ -43,7 +42,7 @@ public class DBMigrateServiceImpl implements DBMigrateService {
if(databaseResponse != null && databaseResponse.getDatabaseName() != null){
String databaseName = databaseResponse.getDatabaseName();
//查询新建的数据库是否存在
ServerResponse serverResponse = findDBByDBType(databaseResponse.getCreateType());
ServerResponse serverResponse = findDBByDBType(databaseResponse.getId());
Object obj = serverResponse.getData();
List<String> dbNameList = new ArrayList<>();
if(obj instanceof ArrayList<?>){
......@@ -57,12 +56,12 @@ public class DBMigrateServiceImpl implements DBMigrateService {
}
//转换后的.sql文件地址
String path = "";
//根据传入的生成数据库类型,查找未被删除的配置文件
DBManage databaseManagement = dbManageDao.findDBManageByIdAndStatus(databaseResponse.getId(),1);
//mysql数据库
if(databaseResponse.getCreateType().equals("highgo") && databaseResponse.getSourceType().equals("mysql")){
//生成数据库的名称
//连接系统数据库,建立新数据库
//根据传入的生成数据库类型,查找未被删除的配置文件
DBManage databaseManagement = dbManageDao.findDatabaseManagementByDatabaseTypeAndStatus(databaseResponse.getCreateType(),1);
Connection connection = Regular.databaseConnection(databaseManagement);
if(connection != null){
PreparedStatement preparedStatement = null;
......@@ -140,8 +139,8 @@ public class DBMigrateServiceImpl implements DBMigrateService {
if(databaseResponse.getDatabaseName() != null){
dbRecord.setDbName(databaseResponse.getDatabaseName());
}
if(databaseResponse.getUserName() != null){
dbRecord.setUserName(databaseResponse.getUserName());
if(databaseManagement.getUserName() != null){
dbRecord.setUserName(databaseManagement.getUserName());
}
if(databaseResponse.getSqlPath() != null){
dbRecord.setSqlPath(databaseResponse.getSqlPath());
......@@ -156,17 +155,19 @@ public class DBMigrateServiceImpl implements DBMigrateService {
/**
* 根据传入的数据库类型查询所有的数据库
* @param dbType
* @param id
* @return
*/
@Override
public ServerResponse findDBByDBType(String dbType) {
public ServerResponse findDBByDBType(Integer id) {
List<String> dbNameList = new ArrayList<>();
DBNameReturn dbNameReturn = new DBNameReturn();
DBManage databaseManagement = dbManageDao.findDBManageByIdAndStatus(id, 1);
//highgo查询所有数据库
if(dbType.equals("highgo")){
DBManage databaseManagement = dbManageDao.findDatabaseManagementByDatabaseTypeAndStatus(dbType, 1);
if(databaseManagement.getDatabaseType().equals("highgo")){
Connection connection = Regular.databaseConnection(databaseManagement);
if (connection != null) {
dbNameReturn.setStatus(1);
PreparedStatement preparedStatement = null;
try {
String findDB = "select p.datname from pg_database p where p.datistemplate = false;";
......@@ -186,8 +187,11 @@ public class DBMigrateServiceImpl implements DBMigrateService {
e.printStackTrace();
}
}
}else {
dbNameReturn.setStatus(0);//未连接
}
}
return ServerResponse.success(dbNameList);
dbNameReturn.setDbName(dbNameList);
return ServerResponse.success(dbNameReturn);
}
}
......@@ -62,7 +62,7 @@ public class DBRecordServiceImpl implements DBRecordService {
@Override
@Transactional
public ServerResponse deleteDB(DBDeleteResponse dbDeleteResponse) {
DBManage dbManage = dbManageDao.findDatabaseManagementByDatabaseTypeAndStatus(dbDeleteResponse.getDbType(),1);
DBManage dbManage = dbManageDao.findDBManageByIdAndStatus(dbDeleteResponse.getId(),1);
Connection connection = Regular.databaseConnection(dbManage);
if (connection != null) {
PreparedStatement preparedStatement = null;
......
......@@ -224,16 +224,9 @@ public class Regular {
*/
public static Connection databaseConnection(DBManage databaseManagement){
Connection connection = null;
String driver = null;
String connectionType = null;
//highgo
if(databaseManagement.getDatabaseType().equals("highgo")){
driver = "org.postgresql.Driver";
connectionType = "postgresql";
}
try {
Class.forName(driver);
String connectionUrl = "jdbc:" + connectionType + ":" + "//" + databaseManagement.getAddress() + ":" + databaseManagement.getPort() + "/" + databaseManagement.getDatabaseName();
Class.forName(databaseManagement.getDriver());
String connectionUrl = "jdbc:" + databaseManagement.getConnectionType() + ":" + "//" + databaseManagement.getAddress() + ":" + databaseManagement.getPort() + "/" + databaseManagement.getDatabaseName();
connection = DriverManager.getConnection(connectionUrl,databaseManagement.getUserName(),databaseManagement.getPassword());
return connection;
} catch (ClassNotFoundException e) {
......
......@@ -20,7 +20,7 @@ logging.file.path=./log/master.log
# 指jpa对表生成的策略
spring.jpa.hibernate.ddl-auto=update
# 是否显示sql语句
spring.jpa.show-sql=true
spring.jpa.show-sql=false
# 格式化sql
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.open-in-view=true
......@@ -33,4 +33,9 @@ spring.servlet.multipart.max-request-size=100MB
spring.thymeleaf.cache=false
spring.mvc.static-path-pattern=/**
spring.resources.static-locations=classpath:/uploads/
\ No newline at end of file
spring.resources.static-locations=classpath:/uploads/
#highgo
highgo.driver=org.postgresql.Driver
highgo.connectionType=postgresql
highgo.dbName=template0
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论