Commit 07dde498 authored by 陈祥烨's avatar 陈祥烨

save and delete

parent 1eb12ffd
......@@ -28,15 +28,15 @@ public class DataBaseLinkResource {
/**
* 新增
* @param dataBaseLinkModel 数据库连接
* @param model 数据库连接
* @return DataBaseLinkModel
*/
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增", notes = "新增")
public ResponseModel<DataBaseLinkModel> save(@RequestBody DataBaseLinkModel dataBaseLinkModel) throws Exception {
dataBaseLinkModel = dataBaseLinkService.createWithModel(dataBaseLinkModel);
return ResponseHelper.buildResponse(dataBaseLinkModel);
public ResponseModel<DataBaseLinkModel> save(@RequestBody DataBaseLinkModel model) throws Exception {
dataBaseLinkService.testConnection(model);
return ResponseHelper.buildResponse(dataBaseLinkService.createWithModel(dataBaseLinkService.encryptPwd(model)));
}
/**
......
package com.yeejoin.amos.api.tool.face.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.api.tool.face.model.DataBaseLinkModel;
import com.yeejoin.amos.api.tool.face.orm.dao.DataBaseLinkMapper;
......@@ -51,13 +50,35 @@ public class DataBaseLinkService extends BaseService<DataBaseLinkModel, DataBase
/**
* 连接数据库
*/
public Connection connectNewDatabase(DataBaseLinkModel model) throws Exception {
// 加载数据库驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 连接新增的数据库
String dbUrl = "jdbc:mysql://" + model.getIp() + ":" + model.getPort() + "/" + model.getDbName();
// 解密pwd,并连接
return DriverManager.getConnection(dbUrl, model.getUserName(),AESUtils.decrypt(model.getPassWord()));
public Connection connectNewDatabase(DataBaseLinkModel model) {
try {
// 加载数据库驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 连接新增的数据库
String dbUrl = "jdbc:mysql://" + model.getIp() + ":" + model.getPort() + "/" + model.getDbName();
// 解密pwd,并连接
return DriverManager.getConnection(dbUrl, model.getUserName(), AESUtils.decrypt(model.getPassWord()));
}
catch (SQLException | ClassNotFoundException e){
e.printStackTrace();
} catch (Exception e) {
throw new RuntimeException(e);
}
return null;
}
/**
* 测试连接数据库
*/
public void testConnection(DataBaseLinkModel model) throws Exception {
Connection connection = this.connectNewDatabase(this.encryptPwd(model));
try{
if(connection != null){
connection.close();
}
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
/**
......
......@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.api.tool.face.model.DataBaseLinkModel;
import com.yeejoin.amos.api.tool.face.model.DataBaseNameListModel;
import com.yeejoin.amos.api.tool.face.orm.dao.DataBaseNameListMapper;
import com.yeejoin.amos.api.tool.face.orm.entity.DataBaseLink;
import com.yeejoin.amos.api.tool.face.orm.entity.DataBaseNameList;
import org.apache.commons.beanutils.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -35,7 +34,7 @@ public class DataBaseNameListService extends BaseService<DataBaseNameListModel,
public List<DataBaseNameListModel> refreshDataBase(Long ipSeq) throws Exception {
DataBaseLinkModel dataBaseLinkModel = dataBaseLinkService.encryptPwd(dataBaseLinkService.queryBySeq(ipSeq));
//清空表单
this.remove(new QueryWrapper<>());
this.remove(new QueryWrapper<DataBaseNameList>().eq("patentId",ipSeq));
//连接数据库
Connection connection = dataBaseLinkService.connectNewDatabase(dataBaseLinkModel);
if (connection == null)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment