Commit 290ef22c authored by 2539630746's avatar 2539630746

修改数据库

parent 102c3e5d
package com.yeejoin.amos.api.tool;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyModel;
public class Test {
public static void main(String[] args) {
}
}
package com.yeejoin.amos.api.tool.config;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.api.tool.face.model.TemplateCategoryModel;
import org.apache.commons.lang.StringUtils;
import org.springframework.jdbc.core.RowMapper;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.text.ParseException;
import java.text.SimpleDateFormat;
// 定义自定义RowMapper 解决数据库json类型字段不能转化为JSONObject类型的问题
public class AdapterCategoryRowMapper implements RowMapper<TemplateCategoryModel> {
@Override
public TemplateCategoryModel mapRow(ResultSet rs, int rowNum) throws SQLException {
TemplateCategoryModel categoryModel = new TemplateCategoryModel();
// 在这里处理JSON字段的转换
categoryModel.setSequenceNbr(Long.valueOf(rs.getString(1)));
categoryModel.setCateName(rs.getString("CATEGORY_NAME"));
categoryModel.setIcon(rs.getString("ICON"));
categoryModel.setRecUserId(rs.getString("REC_USER_ID"));
String extras = rs.getString("EXTRAS");
if (StringUtils.isNotBlank(extras)){
JSONObject jsonObject = JSONObject.parseObject(extras);
System.out.println("<======="+jsonObject);
categoryModel.setTplType(jsonObject.getString("tempType"));
categoryModel.setDesignerType(jsonObject.getString("designerType"));
}
Timestamp timestamp = rs.getTimestamp("REC_DATE");
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formattedDateTime = dateFormat.format(timestamp);
try {
categoryModel.setRecDate(dateFormat.parse(formattedDateTime));
} catch (ParseException e) {
throw new RuntimeException(e);
}
return categoryModel;
}
}
package com.yeejoin.amos.api.tool.config;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.api.tool.face.model.TemplateModel;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.text.ParseException;
import java.text.SimpleDateFormat;
// 定义自定义RowMapper 解决数据库json类型字段不能转化为JSONObject类型的问题
public class StudioTemplateRowMapper implements RowMapper<TemplateModel> {
@Override
public TemplateModel mapRow(ResultSet rs, int rowNum) throws SQLException {
TemplateModel templateModel = new TemplateModel();
// 在这里处理JSON字段的转换
templateModel.setSequenceNbr(Long.valueOf(rs.getString(1)));
templateModel.setDisplayName(rs.getString(2));
templateModel.setComKey(rs.getString(3));
templateModel.setComName(rs.getString(4));
templateModel.setContent(JSONObject.parseObject(rs.getString(6)));
templateModel.setCateSeq(Long.valueOf(rs.getString(7)));
templateModel.setThumb(rs.getString(8));
templateModel.setSketch(rs.getString(9));
String isDel = rs.getString(10);
templateModel.setIsDel(false);
if ("1".equals(isDel)){
templateModel.setIsDel(true);
}
String openStatus = rs.getString(11);
templateModel.setOpenStatus(false);
if ("1".equals(openStatus)){
templateModel.setOpenStatus(true);
}
Timestamp timestamp = rs.getTimestamp("REC_DATE");
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formattedDateTime = dateFormat.format(timestamp);
try {
templateModel.setRecDate(dateFormat.parse(formattedDateTime));
} catch (ParseException e) {
throw new RuntimeException(e);
}
templateModel.setRecUserId(rs.getString(13));
return templateModel;
}
}
...@@ -83,11 +83,11 @@ public class ApiSourceResource { ...@@ -83,11 +83,11 @@ public class ApiSourceResource {
* 列表全部数据查询 * 列表全部数据查询
* @return List<ApiSourceDto> * @return List<ApiSourceDto>
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@ApiOperation(httpMethod = "GET", value = "列表全部数据查询", notes = "列表全部数据查询") @ApiOperation(httpMethod = "GET", value = "列表全部数据查询", notes = "列表全部数据查询")
@GetMapping(value = "/list") @GetMapping(value = "/list")
public ResponseModel<List<ApiSourceModel>> selectForList() { public ResponseModel<List<ApiSourceModel>> selectForList(@RequestParam("categoryType") String categoryType) {
return ResponseHelper.buildResponse(apiSourceService.queryForApiSourceList()); return ResponseHelper.buildResponse(apiSourceService.queryForApiSourceLists(categoryType));
} }
} }
...@@ -2,7 +2,6 @@ package com.yeejoin.amos.api.tool.controller; ...@@ -2,7 +2,6 @@ package com.yeejoin.amos.api.tool.controller;
import com.yeejoin.amos.api.tool.face.model.TemplateCategoryModel; import com.yeejoin.amos.api.tool.face.model.TemplateCategoryModel;
import com.yeejoin.amos.api.tool.face.model.TemplateCategoryTreeModel; import com.yeejoin.amos.api.tool.face.model.TemplateCategoryTreeModel;
import com.yeejoin.amos.api.tool.face.model.TemplateModel;
import com.yeejoin.amos.api.tool.face.service.TemplateCategoryService; import com.yeejoin.amos.api.tool.face.service.TemplateCategoryService;
import com.yeejoin.amos.api.tool.face.service.TemplateService; import com.yeejoin.amos.api.tool.face.service.TemplateService;
import com.yeejoin.amos.api.tool.face.service.VisualDesignerService; import com.yeejoin.amos.api.tool.face.service.VisualDesignerService;
...@@ -26,8 +25,10 @@ public class TemplateCategoryResource { ...@@ -26,8 +25,10 @@ public class TemplateCategoryResource {
@Autowired @Autowired
private TemplateCategoryService templateCategoryService; private TemplateCategoryService templateCategoryService;
@Autowired @Autowired
private TemplateService templateService; private TemplateService templateService;
@Autowired @Autowired
private VisualDesignerService visualDesignerService; private VisualDesignerService visualDesignerService;
...@@ -100,11 +101,11 @@ public class TemplateCategoryResource { ...@@ -100,11 +101,11 @@ public class TemplateCategoryResource {
* 列表树形结构查询 * 列表树形结构查询
* @return List<ApiSourceDto> * @return List<ApiSourceDto>
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@ApiOperation(httpMethod = "GET", value = "列表树形结构查询", notes = "列表树形结构查询") @ApiOperation(httpMethod = "GET", value = "列表树形结构查询", notes = "列表树形结构查询")
@GetMapping(value = "/tree") @GetMapping(value = "/tree")
public ResponseModel<List<TemplateCategoryTreeModel>> selectForTree(){ public ResponseModel<List<TemplateCategoryTreeModel>> selectForTree(@RequestParam("categoryType") String categoryType){
return ResponseHelper.buildResponse(templateCategoryService.getTree()); return ResponseHelper.buildResponse(templateCategoryService.getTree(categoryType));
} }
} }
...@@ -111,11 +111,12 @@ public class TemplateResource { ...@@ -111,11 +111,12 @@ public class TemplateResource {
@RequestParam(value = "current") int current, @RequestParam(value = "current") int current,
@RequestParam(value = "size") int size, @RequestParam(value = "size") int size,
@RequestParam(value = "categorySeq") Long categorySeq, @RequestParam(value = "categorySeq") Long categorySeq,
@RequestParam(value = "displayName", required = false) String displayName) { @RequestParam(value = "displayName", required = false) String displayName,
@RequestParam("categoryType") String categoryType) {
Page<TemplateModel> page = new Page<>(); Page<TemplateModel> page = new Page<>();
page.setCurrent(current); page.setCurrent(current);
page.setSize(size); page.setSize(size);
return ResponseHelper.buildResponse(templateService.queryForTplPage(page, categorySeq, displayName)); return ResponseHelper.buildResponse(templateService.queryForTplPage(page, categorySeq, displayName,categoryType));
} }
/** /**
......
package com.yeejoin.amos.api.tool.face.model;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.typroject.tyboot.core.rdbms.model.BaseModel;
import java.util.Date;
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="AdapterCategoryModel", description="")
public class AdapterCategoryModel extends BaseModel {
private String categoryType;
private Long parentId;
private String categoryName;
private String icon;
private String categoryKey;
private Integer sort;
private String agencyCode;
private Boolean isDelete;
private Date createDate;
private JSONObject extras;
}
package com.yeejoin.amos.api.tool.face.service; package com.yeejoin.amos.api.tool.face.service;
import com.yeejoin.amos.api.tool.face.model.ApiInfoModel; import com.yeejoin.amos.api.tool.face.model.AdapterCategoryModel;
import com.yeejoin.amos.api.tool.face.model.ApiSourceModel; import com.yeejoin.amos.api.tool.face.model.ApiSourceModel;
import com.yeejoin.amos.api.tool.face.orm.entity.ApiSource; import com.yeejoin.amos.api.tool.face.orm.entity.ApiSource;
import com.yeejoin.amos.api.tool.face.orm.dao.ApiSourceMapper; import com.yeejoin.amos.api.tool.face.orm.dao.ApiSourceMapper;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.sql.DataSource;
import java.util.ArrayList;
import java.util.List; import java.util.List;
@Service @Service
...@@ -16,6 +22,12 @@ public class ApiSourceService extends BaseService<ApiSourceModel, ApiSource, Api ...@@ -16,6 +22,12 @@ public class ApiSourceService extends BaseService<ApiSourceModel, ApiSource, Api
@Autowired @Autowired
private ApiInfoService apiInfoService; private ApiInfoService apiInfoService;
private JdbcTemplate jdbcTemplate;
@Autowired
@Qualifier("dataSource-amos-studio")
private DataSource dataSource;
/** /**
* 列表查询 * 列表查询
*/ */
...@@ -23,6 +35,22 @@ public class ApiSourceService extends BaseService<ApiSourceModel, ApiSource, Api ...@@ -23,6 +35,22 @@ public class ApiSourceService extends BaseService<ApiSourceModel, ApiSource, Api
return this.queryForList("", false); return this.queryForList("", false);
} }
public List<ApiSourceModel> queryForApiSourceLists(String categoryType) {
jdbcTemplate=new JdbcTemplate(dataSource);
List<AdapterCategoryModel> adapterCategoryModels = jdbcTemplate.query("SELECT * FROM adapter_category WHERE CATEGORY_TYPE=?", new String[]{categoryType}, new BeanPropertyRowMapper(AdapterCategoryModel.class));
List<ApiSourceModel> result=new ArrayList<>();
adapterCategoryModels.stream().forEach(adapterCategoryModel -> {
ApiSourceModel apiSourceModel=new ApiSourceModel();
apiSourceModel.setSequenceNbr(adapterCategoryModel.getSequenceNbr());
apiSourceModel.setRecDate(adapterCategoryModel.getRecDate());
apiSourceModel.setRecUserId(adapterCategoryModel.getRecUserId());
apiSourceModel.setName(adapterCategoryModel.getCategoryName());
apiSourceModel.setCode(adapterCategoryModel.getCategoryKey());
result.add(apiSourceModel);
});
return result;
}
/** /**
* 根据机构ID获取机构编码 * 根据机构ID获取机构编码
*/ */
......
package com.yeejoin.amos.api.tool.face.service; package com.yeejoin.amos.api.tool.face.service;
import com.yeejoin.amos.api.tool.config.AdapterCategoryRowMapper;
import com.yeejoin.amos.api.tool.face.model.AdapterCategoryModel;
import com.yeejoin.amos.api.tool.face.model.TemplateCategoryModel; import com.yeejoin.amos.api.tool.face.model.TemplateCategoryModel;
import com.yeejoin.amos.api.tool.face.model.TemplateCategoryTreeModel; import com.yeejoin.amos.api.tool.face.model.TemplateCategoryTreeModel;
import com.yeejoin.amos.api.tool.face.model.VisualDesignerModel; import com.yeejoin.amos.api.tool.face.model.VisualDesignerModel;
import com.yeejoin.amos.api.tool.face.orm.dao.TemplateCategoryMapper; import com.yeejoin.amos.api.tool.face.orm.dao.TemplateCategoryMapper;
import com.yeejoin.amos.api.tool.face.orm.entity.TemplateCategory; import com.yeejoin.amos.api.tool.face.orm.entity.TemplateCategory;
import com.yeejoin.amos.feign.privilege.Privilege;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.jdbc.core.BeanPropertyRowMapper; import org.springframework.jdbc.core.BeanPropertyRowMapper;
...@@ -16,7 +17,6 @@ import org.springframework.stereotype.Service; ...@@ -16,7 +17,6 @@ import org.springframework.stereotype.Service;
import javax.sql.DataSource; import javax.sql.DataSource;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
@Service @Service
public class TemplateCategoryService extends BaseService<TemplateCategoryModel, TemplateCategory, TemplateCategoryMapper> { public class TemplateCategoryService extends BaseService<TemplateCategoryModel, TemplateCategory, TemplateCategoryMapper> {
...@@ -50,6 +50,7 @@ public class TemplateCategoryService extends BaseService<TemplateCategoryModel, ...@@ -50,6 +50,7 @@ public class TemplateCategoryService extends BaseService<TemplateCategoryModel,
return this.removeById(sequenceNbr); return this.removeById(sequenceNbr);
} }
/** /**
*
* 模板分类表单数据转化为树形节点 * 模板分类表单数据转化为树形节点
*/ */
public List<TemplateCategoryTreeModel> tplCateToNode(List<TemplateCategoryModel> templateCategoryModels){ public List<TemplateCategoryTreeModel> tplCateToNode(List<TemplateCategoryModel> templateCategoryModels){
...@@ -66,19 +67,17 @@ public class TemplateCategoryService extends BaseService<TemplateCategoryModel, ...@@ -66,19 +67,17 @@ public class TemplateCategoryService extends BaseService<TemplateCategoryModel,
} }
/** /**
* 获得模板分类树
*/
public List<TemplateCategoryTreeModel> getTree() {
/**
* 修改后 * 修改后
*/ */
public List<TemplateCategoryTreeModel> getTree(String categoryType) {
jdbcTemplate=new JdbcTemplate(dataSource); jdbcTemplate=new JdbcTemplate(dataSource);
List<TemplateCategoryModel> templateCategoryModels = jdbcTemplate.query("select * from studio_template_category", new Object[]{}, new BeanPropertyRowMapper<TemplateCategoryModel>(TemplateCategoryModel.class)); /**
* 该方法返回封装好的TemplateCategoryModel类型的数据
*/
List<TemplateCategoryModel> templateCategoryModels = jdbcTemplate.query("SELECT * FROM adapter_category where CATEGORY_TYPE=?", new String[]{categoryType}, new AdapterCategoryRowMapper());
// List<TemplateCategoryModel> templateCategoryModels = this.queryForTplCateList(); // List<TemplateCategoryModel> templateCategoryModels = this.queryForTplCateList();
List<TemplateCategoryTreeModel> nodes = this.tplCateToNode(templateCategoryModels); List<TemplateCategoryTreeModel> nodes = this.tplCateToNode(templateCategoryModels);
List<VisualDesignerModel> visualDesignerLists = jdbcTemplate.query("select * from studio_visual_designer",new Object[]{},new BeanPropertyRowMapper(VisualDesignerModel.class));
List<VisualDesignerModel> visualDesignerLists = jdbcTemplate.query("select * from studio_visual_designer",new Object[]{},new BeanPropertyRowMapper<VisualDesignerModel>(VisualDesignerModel.class));
// List<VisualDesignerModel> visualDesignerLists = visualDesignerService.queryForVisualDesignerList(); // List<VisualDesignerModel> visualDesignerLists = visualDesignerService.queryForVisualDesignerList();
nodes.addAll(visualDesignerService.VisualDesignerToNode(visualDesignerLists)); nodes.addAll(visualDesignerService.VisualDesignerToNode(visualDesignerLists));
return getChildren(nodes, "", 0L); return getChildren(nodes, "", 0L);
......
...@@ -3,6 +3,7 @@ package com.yeejoin.amos.api.tool.face.service; ...@@ -3,6 +3,7 @@ package com.yeejoin.amos.api.tool.face.service;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.api.tool.config.StudioTemplateRowMapper;
import com.yeejoin.amos.api.tool.face.model.*; import com.yeejoin.amos.api.tool.face.model.*;
import com.yeejoin.amos.api.tool.face.orm.dao.TemplateMapper; import com.yeejoin.amos.api.tool.face.orm.dao.TemplateMapper;
import com.yeejoin.amos.api.tool.face.orm.entity.Template; import com.yeejoin.amos.api.tool.face.orm.entity.Template;
...@@ -10,13 +11,11 @@ import com.yeejoin.amos.api.tool.utils.ConvertUtil; ...@@ -10,13 +11,11 @@ import com.yeejoin.amos.api.tool.utils.ConvertUtil;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil; import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import javax.sql.DataSource; import javax.sql.DataSource;
import java.io.IOException; import java.io.IOException;
import java.io.InputStreamReader; import java.io.InputStreamReader;
...@@ -41,15 +40,15 @@ public class TemplateService extends BaseService<TemplateModel, Template, Templa ...@@ -41,15 +40,15 @@ public class TemplateService extends BaseService<TemplateModel, Template, Templa
/** /**
* 分页查询 * 分页查询
*/ */
public Page<TemplateModel> queryForTplPage(Page<TemplateModel> page, Long categorySeq, String displayName) { public Page<TemplateModel> queryForTplPage(Page<TemplateModel> page, Long categorySeq, String displayName,String categoryType) {
List<TemplateCategoryTreeModel> modelList = templateCategoryService.getTree(); List<TemplateCategoryTreeModel> modelList = templateCategoryService.getTree(categoryType);
List<TemplateModel> records = new ArrayList<>(); List<TemplateModel> records = new ArrayList<>();
jdbcTemplate=new JdbcTemplate(dataSource); jdbcTemplate=new JdbcTemplate(dataSource);
for (TemplateCategoryTreeModel visualDesigner : modelList) { for (TemplateCategoryTreeModel visualDesigner : modelList) {
if (Objects.equals(categorySeq, visualDesigner.getSequenceNbr())) { if (Objects.equals(categorySeq, visualDesigner.getSequenceNbr())) {
for (TemplateCategoryTreeModel category : visualDesigner.getChildren()) { for (TemplateCategoryTreeModel category : visualDesigner.getChildren()) {
List<TemplateModel> templateModels = jdbcTemplate.query("select * from studio_template", List<TemplateModel> templateModels = jdbcTemplate.query("SELECT * FROM studio_template WHERE category_seq=?",
new Long[]{category.getSequenceNbr()},new BeanPropertyRowMapper<TemplateModel>(TemplateModel.class)); new Long[]{category.getSequenceNbr()},new StudioTemplateRowMapper());
// List<TemplateModel> templateModels = this.queryForTplListByCategorySeq(category.getSequenceNbr()); // List<TemplateModel> templateModels = this.queryForTplListByCategorySeq(category.getSequenceNbr());
records.addAll(templateModels); records.addAll(templateModels);
} }
...@@ -58,16 +57,24 @@ public class TemplateService extends BaseService<TemplateModel, Template, Templa ...@@ -58,16 +57,24 @@ public class TemplateService extends BaseService<TemplateModel, Template, Templa
} }
Long curr=page.getCurrent(); Long curr=page.getCurrent();
Long pageSize=page.getSize(); Long pageSize=page.getSize();
int offset = (curr.intValue() - 1) * pageSize.intValue(); int startIndex = (curr.intValue() - 1) * pageSize.intValue();
// 构建 SQL 查询语句
String sql = "SELECT * FROM studio_template WHERE category_seq = ? AND display_name = ? LIMIT ? OFFSET ?";
// 构建参数数组
Object[] params = { categorySeq, displayName, pageSize, offset };
// 查询总记录数 // 查询总记录数
String countSql = "SELECT COUNT(*) FROM studio_template WHERE category_seq = ? AND display_name = ?"; String countSql = "SELECT COUNT(*) FROM studio_template WHERE category_seq = ? AND display_name = ?";
Long total = jdbcTemplate.queryForObject(countSql, Long.class, categorySeq, displayName); // 构建 SQL 查询语句
String sql = "SELECT * FROM studio_template WHERE category_seq = ? AND display_name = ? LIMIT ? , ?";
Long total;
Object[] params = {categorySeq, displayName, startIndex, pageSize};
if (displayName==null||"".equals(displayName)){
countSql="SELECT COUNT(*) FROM studio_template WHERE category_seq = ?";
total=jdbcTemplate.queryForObject(countSql, Long.class, categorySeq);
sql="SELECT * FROM studio_template WHERE category_seq = ? LIMIT ? , ?";
// 构建参数数组
params = new Object[]{categorySeq,startIndex, pageSize};
}else {
total=jdbcTemplate.queryForObject(countSql, Long.class, categorySeq, displayName);
}
// 查询分页数据 // 查询分页数据
List<TemplateModel> data = jdbcTemplate.query(sql,params,new BeanPropertyRowMapper<>(TemplateModel.class)); List<TemplateModel> data = jdbcTemplate.query(sql,new StudioTemplateRowMapper(),params);
// 构建Page对象 // 构建Page对象
Page<TemplateModel> pageResult = new Page<>(); Page<TemplateModel> pageResult = new Page<>();
pageResult.setCurrent(pageSize); pageResult.setCurrent(pageSize);
......
...@@ -80,3 +80,11 @@ datasource.port=3306 ...@@ -80,3 +80,11 @@ datasource.port=3306
datasource.username=root datasource.username=root
datasource.password=Yeejoin@2020 datasource.password=Yeejoin@2020
datasource.driver-class-name=com.mysql.cj.jdbc.Driver datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#studio_visual_designer 都有
#studio_template_category 只有amos_tool_library有
#studio_template 都有
#studio_data_api_category 只有amos_tool_library有
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