09052029:对这个资产展示使用线程池的方法去做,第五次优化代码
parent
230606de1d
commit
6c2130678c
|
@ -178,9 +178,12 @@ public class DataValueServiceImpl extends ServiceImpl<DataValueMapper, DataValue
|
|||
|
||||
private int getTotalRecords(MysqlPool mysqlPool, String tableName) throws SQLException {
|
||||
try (Connection conn = mysqlPool.getConn();
|
||||
Statement statement = conn.createStatement();
|
||||
ResultSet resultSet = statement.executeQuery("SELECT COUNT(*) FROM " + tableName)) {
|
||||
if (resultSet.next()) {
|
||||
Statement statement = conn != null ? conn.createStatement() : null;
|
||||
ResultSet resultSet = statement != null ? statement.executeQuery("SELECT COUNT(*) FROM " + tableName) : null) {
|
||||
if (conn == null) {
|
||||
throw new SQLException("Failed to get database connection");
|
||||
}
|
||||
if (resultSet != null && resultSet.next()) {
|
||||
return resultSet.getInt(1);
|
||||
} else {
|
||||
throw new SQLException("Failed to get total record count");
|
||||
|
@ -192,33 +195,37 @@ public class DataValueServiceImpl extends ServiceImpl<DataValueMapper, DataValue
|
|||
List<DataValue> batchResults = new ArrayList<>();
|
||||
String query = "SELECT * FROM " + tableName + " LIMIT ? OFFSET ?";
|
||||
|
||||
try (Connection conn = mysqlPool.getConn();
|
||||
PreparedStatement preparedStatement = conn.prepareStatement(query)) {
|
||||
preparedStatement.setInt(1, BATCH_SIZE);
|
||||
preparedStatement.setInt(2, offset);
|
||||
try (Connection conn = mysqlPool.getConn()) {
|
||||
if (conn == null) {
|
||||
throw new SQLException("Failed to get database connection");
|
||||
}
|
||||
try (PreparedStatement preparedStatement = conn.prepareStatement(query)) {
|
||||
preparedStatement.setInt(1, BATCH_SIZE);
|
||||
preparedStatement.setInt(2, offset);
|
||||
|
||||
try (ResultSet resultSet = preparedStatement.executeQuery()) {
|
||||
ResultSetMetaData metaData = resultSet.getMetaData();
|
||||
int columnCount = metaData.getColumnCount();
|
||||
try (ResultSet resultSet = preparedStatement.executeQuery()) {
|
||||
ResultSetMetaData metaData = resultSet.getMetaData();
|
||||
int columnCount = metaData.getColumnCount();
|
||||
|
||||
while (resultSet.next()) {
|
||||
for (int i = 1; i <= columnCount; i++) {
|
||||
String columnTypeName = metaData.getColumnTypeName(i);
|
||||
while (resultSet.next()) {
|
||||
for (int i = 1; i <= columnCount; i++) {
|
||||
String columnTypeName = metaData.getColumnTypeName(i);
|
||||
|
||||
DatabaseMetaData metaDataColumns = conn.getMetaData();
|
||||
ResultSet columns = metaDataColumns.getColumns(null, null, metaData.getTableName(i), metaData.getColumnName(i));
|
||||
String remarks = null;
|
||||
while (columns.next()) {
|
||||
remarks = columns.getString("REMARKS");
|
||||
DatabaseMetaData metaDataColumns = conn.getMetaData();
|
||||
ResultSet columns = metaDataColumns.getColumns(null, null, metaData.getTableName(i), metaData.getColumnName(i));
|
||||
String remarks = null;
|
||||
while (columns.next()) {
|
||||
remarks = columns.getString("REMARKS");
|
||||
}
|
||||
|
||||
DataValue build = DataValue.builder()
|
||||
.key(metaData.getColumnName(i))
|
||||
.label(remarks)
|
||||
.value(resultSet.getObject(i, DataType.convertType(columnTypeName)))
|
||||
.type(DataType.convertTypeString(columnTypeName))
|
||||
.build();
|
||||
batchResults.add(build);
|
||||
}
|
||||
|
||||
DataValue build = DataValue.builder()
|
||||
.key(metaData.getColumnName(i))
|
||||
.label(remarks)
|
||||
.value(resultSet.getObject(i, DataType.convertType(columnTypeName)))
|
||||
.type(DataType.convertTypeString(columnTypeName))
|
||||
.build();
|
||||
batchResults.add(build);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue