优化 数据源,添加,修改,删除,测试连接
parent
1378c3f5e8
commit
857423dcd9
|
@ -38,4 +38,16 @@ public class DataType extends BaseEntity {
|
|||
@Excel(name = "数据源类型")
|
||||
private String dataType;
|
||||
|
||||
/**
|
||||
* 注册驱动
|
||||
*/
|
||||
@Excel(name = "注册驱动")
|
||||
private String driverManager;
|
||||
|
||||
/**
|
||||
* jdbc前缀
|
||||
*/
|
||||
@Excel(name = "jdbc前缀")
|
||||
private String jdbcPre;
|
||||
|
||||
}
|
||||
|
|
|
@ -143,16 +143,29 @@ public class DataSourceServiceImpl extends ServiceImpl<DataSourceMapper, DataSou
|
|||
new LambdaQueryWrapper<DataSource>()
|
||||
.eq(DataSource::getId, id)
|
||||
);
|
||||
String driveClass = "";
|
||||
String jdbcUrl = "";
|
||||
String driveClass = "";
|
||||
boolean flag = false;
|
||||
DataType dataType = dataTypeService.getOne(
|
||||
new LambdaQueryWrapper<DataType>()
|
||||
.eq(DataType::getId, dataSource.getTypeId())
|
||||
);
|
||||
try {
|
||||
switch (dataSource.getTypeId().intValue()) {
|
||||
case 1:
|
||||
driveClass = "com.mysql.cj.jdbc.Driver";
|
||||
jdbcUrl = "jdbc:mysql://" + dataSource.getDataSourceIp() + ":" + dataSource.getDataSourcePort() + "/" + dataSource.getDataSourceDatabaseName() + "?" + dataSource.getAdditionalConfiguration();
|
||||
break;
|
||||
case 2:
|
||||
if (dataType.getDriverManager() != null && dataType.getJdbcPre() != null){
|
||||
if ("mysql".equals(dataType.getDataType())){
|
||||
driveClass = dataType.getDriverManager();
|
||||
jdbcUrl = dataType.getJdbcPre() + dataSource.getDataSourceIp() + ":" + dataSource.getDataSourcePort() + "/" + dataSource.getDataSourceDatabaseName() + "?" + dataSource.getAdditionalConfiguration();
|
||||
}
|
||||
if ("oracle".equals(dataType.getDataType())){
|
||||
driveClass = dataType.getDriverManager();
|
||||
jdbcUrl = dataType.getJdbcPre() + dataSource.getDataSourceIp() + ":" + dataSource.getDataSourcePort() + ":" + dataSource.getDataSourceDatabaseName();
|
||||
}
|
||||
if ("sqlserver".equals(dataType.getDataType())){
|
||||
driveClass = dataType.getDriverManager();
|
||||
jdbcUrl = dataType.getJdbcPre()+ dataSource.getDataSourceIp() +":"+dataSource.getDataSourcePort()+";databaseName="+dataSource.getDataSourceDatabaseName();
|
||||
}
|
||||
flag = testDatasource(driveClass, jdbcUrl, dataSource.getDataSourceUsername(), dataSource.getDataSourcePassword());
|
||||
}else {
|
||||
// redis
|
||||
//连接指定的redis
|
||||
Jedis jedis = new Jedis(dataSource.getDataSourceIp(), Integer.valueOf(dataSource.getDataSourcePort()));
|
||||
|
@ -167,22 +180,6 @@ public class DataSourceServiceImpl extends ServiceImpl<DataSourceMapper, DataSou
|
|||
} catch (Exception e) {
|
||||
flag = false;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
// oracle数据库
|
||||
driveClass = "oracle.jdbc.OracleDriver";
|
||||
jdbcUrl = "jdbc:oracle:thin:@" + dataSource.getDataSourceIp() + ":" + dataSource.getDataSourcePort() + ":" + dataSource.getDataSourceDatabaseName();
|
||||
break;
|
||||
case 4:
|
||||
driveClass = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
|
||||
jdbcUrl = "jdbc:sqlserver://"+ dataSource.getDataSourceIp() +":"+dataSource.getDataSourcePort()+";databaseName="+dataSource.getDataSourceDatabaseName();
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
|
||||
}
|
||||
if (dataSource.getTypeId() != 2){
|
||||
flag = testDatasource(driveClass, jdbcUrl, dataSource.getDataSourceUsername(), dataSource.getDataSourcePassword());
|
||||
}
|
||||
return flag;
|
||||
} catch (Exception e) {
|
||||
|
|
|
@ -52,6 +52,7 @@ public class DataTypeServiceImpl extends ServiceImpl<DataTypeMapper, DataType> i
|
|||
@Override
|
||||
public int insertDataType(DataType dataType) {
|
||||
dataType.setCreateTime(DateUtils.getNowDate());
|
||||
dataType.setDataType(lowerCase(dataType.getDataType()));
|
||||
return dataTypeMapper.insertDataType(dataType);
|
||||
}
|
||||
|
||||
|
@ -64,6 +65,7 @@ public class DataTypeServiceImpl extends ServiceImpl<DataTypeMapper, DataType> i
|
|||
@Override
|
||||
public int updateDataType(DataType dataType) {
|
||||
dataType.setUpdateTime(DateUtils.getNowDate());
|
||||
dataType.setDataType(lowerCase(dataType.getDataType()));
|
||||
return dataTypeMapper.updateDataType(dataType);
|
||||
}
|
||||
|
||||
|
@ -88,4 +90,13 @@ public class DataTypeServiceImpl extends ServiceImpl<DataTypeMapper, DataType> i
|
|||
public int deleteDataTypeById(Long id) {
|
||||
return dataTypeMapper.deleteDataTypeById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将所有的大写转换成小写并清除中间所有的空格
|
||||
* @param str 需要转换的参数
|
||||
* @return 转换后的参数
|
||||
*/
|
||||
public static String lowerCase(String str){
|
||||
return str.toLowerCase().replaceAll(" ","");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,12 +1,14 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.etl.data.type.mapper.DataTypeMapper">
|
||||
|
||||
<resultMap type="com.etl.data.type.domain.DataType" id="DataTypeResult">
|
||||
<result property="id" column="id" />
|
||||
<result property="dataType" column="data_type" />
|
||||
<result property="driverManager" column="driver_manager" />
|
||||
<result property="jdbcPre" column="jdbc_pre" />
|
||||
<result property="remark" column="remark" />
|
||||
<result property="createBy" column="create_by" />
|
||||
<result property="createTime" column="create_time" />
|
||||
|
@ -15,13 +17,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
</resultMap>
|
||||
|
||||
<sql id="selectDataTypeVo">
|
||||
select id, data_type, remark, create_by, create_time, update_by, update_time from data_type
|
||||
select id, data_type, driver_manager, jdbc_pre, remark, create_by, create_time, update_by, update_time from data_type
|
||||
</sql>
|
||||
|
||||
<select id="selectDataTypeList" parameterType="com.etl.data.type.domain.DataType" resultMap="DataTypeResult">
|
||||
<include refid="selectDataTypeVo"/>
|
||||
<where>
|
||||
<if test="dataType != null and dataType != ''"> and data_type = #{dataType}</if>
|
||||
<if test="dataType != null and dataType != ''"> and data_type like concat('%', #{dataType}, '%')</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
@ -34,6 +36,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
insert into data_type
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="dataType != null">data_type,</if>
|
||||
<if test="driverManager != null">driver_manager,</if>
|
||||
<if test="jdbcPre != null">jdbc_pre,</if>
|
||||
<if test="remark != null">remark,</if>
|
||||
<if test="createBy != null">create_by,</if>
|
||||
<if test="createTime != null">create_time,</if>
|
||||
|
@ -42,6 +46,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="dataType != null">#{dataType},</if>
|
||||
<if test="driverManager != null">#{driverManager},</if>
|
||||
<if test="jdbcPre != null">#{jdbcPre},</if>
|
||||
<if test="remark != null">#{remark},</if>
|
||||
<if test="createBy != null">#{createBy},</if>
|
||||
<if test="createTime != null">#{createTime},</if>
|
||||
|
@ -54,6 +60,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
update data_type
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="dataType != null">data_type = #{dataType},</if>
|
||||
<if test="driverManager != null">driver_manager = #{driverManager},</if>
|
||||
<if test="jdbcPre != null">jdbc_pre = #{jdbcPre},</if>
|
||||
<if test="remark != null">remark = #{remark},</if>
|
||||
<if test="createBy != null">create_by = #{createBy},</if>
|
||||
<if test="createTime != null">create_time = #{createTime},</if>
|
||||
|
|
Loading…
Reference in New Issue