希望出现的:
id | 表英文名 | 字段英文名 | 字段描述 | 字段类型 | 正则表达式限制 | |
1 | ||||||
2 |
输入:aid
输出:以上的信息
aid-pid-(数据库-aid 里找字段英文名和字段描述)
<!-- 在这里添加一下table -->
<el-table
:data="tableData"
style="width: 100%"
height="250">
<el-table-column
type="index"
width="50">
</el-table-column>
<el-table-column
prop="cen"
label="表英文名"
width="120">
</el-table-column>
<el-table-column
prop="men"
label="字段英文名"
width="120">
</el-table-column>
<el-table-column
prop="mdes"
label="字段描述"
width="300">
</el-table-column>
<el-table-column
prop="mcn"
label="字段类型"
width="120">
</el-table-column>
<el-table-column
prop="zhengze"
label="正则表达式限制"
width="120">
</el-table-column>
</el-table>
过程一:aid-pid
axios.get(`api/findPublishByAid/${aid}`).then(function (response) {
_this.publish = response.data;
console.log(_this.publish.id)
})
过程二:getPDetail
/ 这里首先获取pid dbid 进而可以找到dbname_id里的表名,字段英文名,字段type
Publish publish=publishService.findPublishById(id);
String dbname=publish.getDbname();
// 调用PDtailMapper里的方法
List<PDetail> pDetails= publishService.findPDetailByDbnameAndPid(dbname,id);
for(PDetail pDetail:pDetails){
System.out.println("--"+pDetail.getChartname()+pDetail.getMeta()+pDetail.getMetatype());
至此。表英文名,字段英文名,字段类型均有了,现在需要的是字段描述和正则表达式限制,因此需要获取n-n-meta表, 表的id需要获取,先做一个mapper key为chartname,value为list<PDetail>
if(!map.containsKey(pDetail.getChartname())) {
map.put(pDetail.getChartname(), new ArrayList<PDetail>());
System.out.println(pDetail.getChartname()+"if");
map.get(pDetail.getChartname()).add(pDetail);
}else{
System.out.println(pDetail.getChartname()+"else");
map.get(pDetail.getChartname()).add(pDetail);
}
至此,一个mapper已做好
过程三:表名-表id
输入:表名,数据库id
输出:表id
System.out.println("Key = " + entry.getKey() );
// 在这里找到表的id 根据表名,数据库id找 表id
int chartid=chartMapper.findIdByChartName(entry.getKey(), dbid);
System.out.println("找到的表id为"+chartid);
过程四:找到n_n_meta这个表
List<Meta> metaList=metaMapper.findAllMetaByCId(chartid,dbid);
过程五:找到这个metalist后通过与pDetail拼接后返回即可
for(PDetail pDetail:pDetaillist){
System.out.println("--"+pDetail.getChartname()+pDetail.getMeta()+pDetail.getMetatype());
for(Meta meta:metaList){
if(meta.getEN().equals(pDetail.getMeta())){
System.out.println(meta.getDes()+meta.getZhengze()+meta.getEN()+meta.getCN()+pDetail.getChartname());
infoP temp=new infoP();
temp.setCen(pDetail.getChartname());
temp.setMcn(meta.getCN());
temp.setZhengze(meta.getZhengze());
temp.setMen(meta.getEN());
temp.setMdes(meta.getDes());
infoPS.add(temp);
}
}
}
最终结果:
拓展:加上表的中文名和表的中文描述