public static List<ColumnInfo> queryColumnInfosByProcedure(String tableName) {
Connection conn = DBUtil.getConnection();
List<ColumnInfo> columnInfos = new ArrayList<>();
ResultSet rs = null;
CallableStatement procedure = null;
try {
procedure = conn
.prepareCall("{?=call p_create_columns(?)}");
procedure.registerOutParameter(1, Types.OTHER);
procedure.setString(2, tableName);
rs = procedure.executeQuery();
while (rs.next()) {
ColumnInfo columnInfo = new ColumnInfo();
columnInfo.setColumnName(rs.getString("columnname"));
columnInfo.setDataType(rs.getString("datatype"));
columnInfo.setLength(rs.getInt("length"));
columnInfo.setPk(rs.getBoolean("pk"));
columnInfo.setAllowNull(rs.getBoolean("allowNull"));
columnInfo.setComment(rs.getString("comment"));
columnInfos.add(columnInfo);
}
for (ColumnInfo tableInfo : columnInfos) {
System.out.println(tableInfo);
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
try {
rs.close();
procedure.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return columnInfos;
}
使用JDBC调用存储过程
最新推荐文章于 2022-07-09 16:30:58 发布