首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Java 框架刪除數據無效:DAO 方法未傳遞 SQL 參數導致執行空語句

     編輯:程式設計疑難解答

現象

測試不報錯,但資料庫記錄未刪除。截圖顯示 DAO delete 方法調用 jdbcTemplate.update(sql) **未傳遞參數陣列**。

錯誤代碼

public void delete(String sql) { // 缺少參數
    jdbcTemplate.update(sql);
}

正確代碼

public void delete(String sql, Object... args) {
    jdbcTemplate.update(sql, args);
}

// Service 調用
dao.delete("DELETE FROM t_product WHERE id = ?", productId);

檢查清單

  1. 所有增刪改方法簽名包含參數陣列 Object... args 或 List。
  2. SQL 佔位符 ? 數量與參數個數一致。
  3. 事務管理:@Transactional 確保提交。
  4. 日誌輸出執行的 SQL 及參數值,便於排查。
    1. 上一篇文章:
    2. 下一篇文章:
    Copyright © 程式碼之家 All Rights Reserved