From e61d7cb768df2c319069f264d3eda8f91db0f6e7 Mon Sep 17 00:00:00 2001 From: liriming <1343021927@qq.com> Date: 星期四, 19 六月 2025 18:26:33 +0800 Subject: [PATCH] 关闭jdbc链接 --- ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/SyncEmsTask.java | 20 ++++++++++++++++---- 1 files changed, 16 insertions(+), 4 deletions(-) diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/SyncEmsTask.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/SyncEmsTask.java index 5a6b846..f989ee0 100644 --- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/SyncEmsTask.java +++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/SyncEmsTask.java @@ -10,6 +10,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; import java.sql.*; import java.text.SimpleDateFormat; @@ -35,6 +36,7 @@ private SyncLogService syncLogService; @Override + @Transactional(rollbackFor = Exception.class) public void run(String params) { logger.info("SyncEmsTask定时任务正在执行,参数为:{}", params); String remark = "同步成功"; @@ -49,14 +51,17 @@ String sql = "SELECT * FROM ems.BYQLZ_ADS_WH_CL_JH01_BYQ WHERE date_code = ?"; + Connection conn = null; + PreparedStatement pstmt = null; + ResultSet rs = null; try { - Connection conn = DriverManager.getConnection(URL, USER, PASSWORD); - PreparedStatement pstmt = conn.prepareStatement(sql); + conn = DriverManager.getConnection(URL, USER, PASSWORD); + pstmt = conn.prepareStatement(sql); // 设置参数 pstmt.setString(1, yearMonth); // 执行查询并处理结果 - ResultSet rs = pstmt.executeQuery(); + rs = pstmt.executeQuery(); if(!rs.isBeforeFirst()){ pstmt.setString(1, lastMonth); rs = pstmt.executeQuery(); @@ -70,7 +75,6 @@ } byqlzAdsService.delete(yearMonth); while (rs.next()) { - logger.error("进入循环"); ByqlzAdsEntity entity = new ByqlzAdsEntity(); // 映射基础字段 @@ -132,6 +136,14 @@ } catch (SQLException e) { logger.error("SyncEmsTask运行异常"); e.printStackTrace(); + } finally { + try { + if (rs != null) rs.close(); // 先关闭结果集 + if (pstmt != null) pstmt.close(); // 再关闭语句 + if (conn != null) conn.close(); // 最后关闭连接 + } catch (SQLException e) { + e.printStackTrace(); + } } logger.info("SyncEmsTask运行完成"); } -- Gitblit v1.9.3