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 {
|
private int getTotalRecords(MysqlPool mysqlPool, String tableName) throws SQLException {
|
||||||
try (Connection conn = mysqlPool.getConn();
|
try (Connection conn = mysqlPool.getConn();
|
||||||
Statement statement = conn.createStatement();
|
Statement statement = conn != null ? conn.createStatement() : null;
|
||||||
ResultSet resultSet = statement.executeQuery("SELECT COUNT(*) FROM " + tableName)) {
|
ResultSet resultSet = statement != null ? statement.executeQuery("SELECT COUNT(*) FROM " + tableName) : null) {
|
||||||
if (resultSet.next()) {
|
if (conn == null) {
|
||||||
|
throw new SQLException("Failed to get database connection");
|
||||||
|
}
|
||||||
|
if (resultSet != null && resultSet.next()) {
|
||||||
return resultSet.getInt(1);
|
return resultSet.getInt(1);
|
||||||
} else {
|
} else {
|
||||||
throw new SQLException("Failed to get total record count");
|
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<>();
|
List<DataValue> batchResults = new ArrayList<>();
|
||||||
String query = "SELECT * FROM " + tableName + " LIMIT ? OFFSET ?";
|
String query = "SELECT * FROM " + tableName + " LIMIT ? OFFSET ?";
|
||||||
|
|
||||||
try (Connection conn = mysqlPool.getConn();
|
try (Connection conn = mysqlPool.getConn()) {
|
||||||
PreparedStatement preparedStatement = conn.prepareStatement(query)) {
|
if (conn == null) {
|
||||||
preparedStatement.setInt(1, BATCH_SIZE);
|
throw new SQLException("Failed to get database connection");
|
||||||
preparedStatement.setInt(2, offset);
|
}
|
||||||
|
try (PreparedStatement preparedStatement = conn.prepareStatement(query)) {
|
||||||
|
preparedStatement.setInt(1, BATCH_SIZE);
|
||||||
|
preparedStatement.setInt(2, offset);
|
||||||
|
|
||||||
try (ResultSet resultSet = preparedStatement.executeQuery()) {
|
try (ResultSet resultSet = preparedStatement.executeQuery()) {
|
||||||
ResultSetMetaData metaData = resultSet.getMetaData();
|
ResultSetMetaData metaData = resultSet.getMetaData();
|
||||||
int columnCount = metaData.getColumnCount();
|
int columnCount = metaData.getColumnCount();
|
||||||
|
|
||||||
while (resultSet.next()) {
|
while (resultSet.next()) {
|
||||||
for (int i = 1; i <= columnCount; i++) {
|
for (int i = 1; i <= columnCount; i++) {
|
||||||
String columnTypeName = metaData.getColumnTypeName(i);
|
String columnTypeName = metaData.getColumnTypeName(i);
|
||||||
|
|
||||||
DatabaseMetaData metaDataColumns = conn.getMetaData();
|
DatabaseMetaData metaDataColumns = conn.getMetaData();
|
||||||
ResultSet columns = metaDataColumns.getColumns(null, null, metaData.getTableName(i), metaData.getColumnName(i));
|
ResultSet columns = metaDataColumns.getColumns(null, null, metaData.getTableName(i), metaData.getColumnName(i));
|
||||||
String remarks = null;
|
String remarks = null;
|
||||||
while (columns.next()) {
|
while (columns.next()) {
|
||||||
remarks = columns.getString("REMARKS");
|
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