public JSONObject QueryDataTable(String dbid, String tableName, String schema) {
JSONObject resObj = RkUtil.getInstance().getResultObj(CodeConst.code_0, "", null);
dbid = dbid.equals("") ? null : dbid;
LogUtil.getLog().debug("dbid:" + dbid);
LogUtil.getLog().debug("tableName:" + tableName);
LogUtil.getLog().debug("schema:" + schema);
DataBase database = null;
Connection connection = null;
DatabaseMetaData dbmd = null;
try {
if (dbid == null) {
dbid = RKConst.getInstance().getV("sysDBIDName");
}
database = DataBaseManage.getInstance().getDataBase(dbid);
if (database == null) {
resObj = RkUtil.getInstance().getResultObj(CodeConst.code_500, "DBID: " + dbid + " 获取database异常!",
null);
LogUtil.getLog().error("DBID: " + dbid + " 获取database异常!");
return resObj;
}
// 创建连接
connection = database.getConnection();
String primaryKeyColumnName ="";
dbmd = connection.getMetaData();
//获取主键
ResultSet primaryKeyResultSet= dbmd.getPrimaryKeys(schema, schema, tableName);
while(primaryKeyResultSet.next()){
primaryKeyColumnName= primaryKeyResultSet.getString("COLUMN_NAME");
LogUtil.getLog().debug("primaryKeyColumnName:"+primaryKeyColumnName);
}
ResultSet rs = null;
if (schema.equals("")) {
rs = dbmd.getColumns(null, "%", tableName, "%");
} else {
rs = dbmd.getColumns(null, schema, tableName, "%");
}
Integer count=0;
Integer integer=1;
JSONArray data= new JSONArray();
while (rs.next()) {
JSONObject jsonObject=new JSONObject();
LogUtil.getLog().debug("tableName:" + tableName);
String isPk="否";
String fieldName = rs.getString("COLUMN_NAME");
jsonObject.put("fieldName", fieldName);
LogUtil.getLog().debug(fieldName);
if(fieldName.equals(primaryKeyColumnName)) {
isPk="是";
}
jsonObject.put("isPk", isPk);
String fieldType = rs.getString("TYPE_NAME");
jsonObject.put("fieldType", fieldType);
String fieldLength = rs.getString("COLUMN_SIZE");
jsonObject.put("fieldLength", fieldLength);
count=(integer+1);
data.add(jsonObject);
}
resObj.put("count", count);
resObj.put("data", data);
} catch (Exception e) {
// TODO: handle exception
LogUtil.getLog().debug("没有找到对应的表出现异常", e);
}
return resObj;