一、后端代码
// 左表返回的内容
public QdbResult queryDb(Long id,Integer page, Integer limit) throws Exception {
SrcDataSource srcDataSource = srcDataSourceMapper.selectById(id);
SimpleDataSource source = dataSource(srcDataSource.getSourceType(),
srcDataSource.getJdbcUrl(), srcDataSource.getJdbcUser(), srcDataSource.getJdbcPwd());
?
// 根据url,user,pwd,type获得该数据库内的所有表的表名和字段信息
DBMetadataUtils metaUtils = new DBMetadataUtils(source);
DatabaseConfig config = metaUtils.getDefaultConfig();
?
List<QdbSource> l = new ArrayList<>();
List<IntrospectedTable> list = metaUtils.introspectTables(config);
for (IntrospectedTable table : list) {
QdbSource qdbSource = new QdbSource();
qdbSource.setId(id);
qdbSource.setName(table.getName());
List<QdbField> lq = new ArrayList<>();
for (IntrospectedColumn column : table.getAllColumns()) {
QdbField qdbField = new QdbField();
qdbField.setFildName(column.getName());
qdbField.setFildType(column.getJdbcTypeName());
qdbField.setFildLength(column.getLength());
qdbField.setFildScale(column.getScale());
qdbField.setRemarks(column.getRemarks());
qdbField.setIsPk(column.isPk());
qdbField.setIsNullable(column.isNullable());
qdbField.setDefaultValue(column.getDefaultValue());
lq.add(qdbField);
}
qdbSource.setList(lq);
?
l.add(qdbSource);
}
QdbResult result = new QdbResult();
result.setCode(0);
result.setCount(10l);
result.setMsg("成功");
result.setData(l);
return result;
?
}
?
// 右表返回的内容
public QdbFieldResult queryField(Long id, String name, Integer page, Integer limit) throws Exception {
SrcDataSource srcDataSource = srcDataSourceMapper.selectById(id);
SimpleDataSource source = dataSource(srcDataSource.getSourceType(),
srcDataSource.getJdbcUrl(), srcDataSource.getJdbcUser(), srcDataSource.getJdbcPwd());
// 根据url,user,pwd,type获得该数据库内的所有表的表名和字段信息