feat 现场变量

master
rouchen 2024-05-13 21:54:38 +08:00
parent a6b87e1c6d
commit c03414dc1e
8 changed files with 171 additions and 72 deletions

View File

@ -40,7 +40,7 @@ public interface KvtMapper extends BaseMapper<Kvt> {
List<DataStructure> selectDataStructure(@Param("databaseName") String databaseName, @Param("name") String name);
void add(DataStructure dataStructure);
void add(@Param("dataStructure") List<DataStructure> dataStructure);
List<DataStructure> selectDataStur(@Param("tableName") String tableName);

View File

@ -37,7 +37,7 @@ public interface KvtService extends IService<Kvt> {
List<DataStructure> selectDataStructure(@Param("databaseName") String databaseName, @Param("name") String name);
void add(DataStructure dataStructure);
List<DataStructure> selectDataStur(String tableName);

View File

@ -208,10 +208,6 @@ public class KvtServiceImpl extends ServiceImpl<KvtMapper, Kvt> implements KvtSe
return baseMapper.selectDataStructure(databaseName, name);
}
@Override
public void add(DataStructure dataStructure) {
baseMapper.add(dataStructure);
}
@Override
public List<DataStructure> selectDataStur(String tableName) {
@ -467,8 +463,7 @@ public class KvtServiceImpl extends ServiceImpl<KvtMapper, Kvt> implements KvtSe
preparedStatement = connection.prepareStatement(this.sql4()
+ " information_schema.columns.table_name = '" + tableName + " ' ");
}
List<DataStructure> structures = new ArrayList<>();
ResultSet executeQuery = preparedStatement.executeQuery();
while (executeQuery.next()) {
if (kvt.getType() == 1) {
@ -515,68 +510,73 @@ public class KvtServiceImpl extends ServiceImpl<KvtMapper, Kvt> implements KvtSe
.type(type)
.mappingType(mappingType)
.length(length)
.decimalPlaces(null)
.decimalPlaces(decimalPlaces)
.isNull(isNull)
.defaultValue(defaultValue)
.isDict(null)
.isDict(isNull)
.dictKey(null)
.build();
structures.add(build);
}
if (kvt.getType() == 2) {
//名称
String name = executeQuery.getString(1);
/**
*
*/
String comment = executeQuery.getString(2);
/**
*
*/
String type = executeQuery.getString(3);
/**
*
*/
String length = executeQuery.getString(4);
/**
*
*/
String mappingType = executeQuery.getString(5);
/**
*
*/
String defaultValue = executeQuery.getString(6);
/**
*
*/
String isNull = executeQuery.getString(7);
/**
*
*/
String isPrimaryKey = executeQuery.getString(8);
build = DataStructure.builder()
.tableName(tableName)
.warName(kvt.getDatabaseName())
.name(name)
.comment(comment)
.isPrimaryKey(isPrimaryKey)
.type(type)
.mappingType(mappingType)
.length(length)
.decimalPlaces(null)
.isNull(isNull)
.defaultValue(defaultValue)
.isDict(null)
.dictKey(null)
.build();
}
// if (kvt.getType() == 2) {
// //名称
// String name = executeQuery.getString(1);
// /**
// * 注释
// */
// String comment = executeQuery.getString(2);
// /**
// * 类型
// */
// String type = executeQuery.getString(3);
// /**
// * 长度
// */
// String length = executeQuery.getString(4);
//
// /**
// * 映射类型
// */
// String mappingType = executeQuery.getString(5);
//
// /**
// * 默认值
// */
// String defaultValue = executeQuery.getString(6);
//
// /**
// * 是否为空
// */
// String isNull = executeQuery.getString(7);
// /**
// * 是否主键
// */
// String isPrimaryKey = executeQuery.getString(8);
// build = DataStructure.builder()
// .tableName(tableName)
// .warName(kvt.getDatabaseName())
// .name(name)
// .comment(comment)
// .isPrimaryKey(isPrimaryKey)
// .type(type)
// .mappingType(mappingType)
// .length(length)
// .decimalPlaces(null)
// .isNull(isNull)
// .defaultValue(defaultValue)
// .isDict(null)
// .dictKey(null)
// .build();
// structures.add(build);
//
// }
baseMapper.add(build);
}
if (structures!=null){
baseMapper.add(structures);
}
executeQuery.close();
} catch (SQLException e) {

View File

@ -246,17 +246,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</insert>
<insert id="add">
INSERT INTO `data_basete`.`data_structure`
( `name`, `comment`,`war_name`,`table_name`, `isPrimaryKey`, `type`, `mappingType`,
`length`, `decimalPlaces`, `isNull`, `defaultValue`, `isDict`,
`dictKey`)
VALUES ( #{name}, #{comment}, #{warName} ,#{tableName},#{isPrimaryKey}, #{type}, #{mappingType},
#{length}, #{decimalPlaces}, #{isNull}, #{defaultValue}, #{isDict},
#{dictKey});
</insert>
<insert id="ChildAdd">
INSERT INTO `data_basete`.`child` ( `name`, `as`, `data_total`, `is_primary_key`)
VALUES
@ -320,5 +310,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
INSERT INTO `data_basete`.`permissions_user` ( `user_id`, `kvt_id`, `tbale_name`, `dept_id`)
values (#{userId},#{kvtId},#{tbaleName},#{deptId})
</insert>
<insert id="add">
INSERT INTO `data_basete`.`data_structure`
( `name`, `comment`,`war_name`,`table_name`, `isPrimaryKey`, `type`, `mappingType`,
`length`, `decimalPlaces`, `isNull`, `defaultValue`, `isDict`,
`dictKey`)
VALUES
<foreach collection="dataStructure" item="dataStructure" separator=",">
(#{dataStructure.name}, #{dataStructure.comment},#{dataStructure.warName},#{dataStructure.tableName}, #{dataStructure.isPrimaryKey}, #{dataStructure.type}, #{dataStructure.mappingType},
#{dataStructure.length}, #{dataStructure.decimalPlaces}, #{dataStructure.isNull}, #{dataStructure.defaultValue}, #{dataStructure.isDict},
#{dataStructure.dictKey})
</foreach>
</insert>
</mapper>

View File

@ -9,4 +9,5 @@ import com.muyu.engine.Engine;
* on 2024/5/8
*/
public interface DataSetEngine extends Engine {
}

View File

@ -0,0 +1,40 @@
package com.muyu.engine.test;
import com.muyu.engine.Engine;
import com.muyu.engine.test.data.TestDataModel;
import com.muyu.model.DataModel;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/**
* Test
*
* @author Yangle
* Date 2024/5/13 15:19
*/
@SpringBootApplication
public class Test {
public static final Map<String, Engine> map = new ConcurrentHashMap<>();
static {
map.put("test",new TestDataModel());
}
public static void main(String[] args) {
DataModel dataModel = new DataModel();
dataModel.setKey("test");
dataModel.setValue("s");
dataModel.setProcessType("String");
dataModel.setProcessClass(String.class);
dataModel.setSourceType("varchar");
Engine test = map.get("test");
test.execution();
}
}

View File

@ -0,0 +1,30 @@
package com.muyu.engine.test.data;
import com.muyu.model.DataModel;
import lombok.extern.log4j.Log4j2;
/**
* DataModelConstant
*
* @author Yangle
* Date 2024/5/13 15:14
*/
@Log4j2
public class DataModelConstant {
public static final ThreadLocal<DataModel> dataModelThreadLocal = new ThreadLocal<>();
public static DataModel getDataModel() {
log.info("小头");
return dataModelThreadLocal.get();
}
private static void setDataModel(DataModel dataModel) {
log.info("大头");
dataModelThreadLocal.set(dataModel);
}
private static void removeDataModel() {
log.info("remove");
dataModelThreadLocal.remove();
}
}

View File

@ -0,0 +1,25 @@
package com.muyu.engine.test.data;
import com.muyu.engine.Engine;
import com.muyu.model.DataModel;
/**
*
* TestDataModel
*
* @author Yangle
* Date 2024/5/13 15:11
*/
public class TestDataModel implements Engine<DataModel> {
@Override
public void execution() {
DataModelConstant.getDataModel();
}
@Override
public DataModel get() {
return DataModelConstant.getDataModel();
}
}