#困ったこと
DaoクラスよりDB上のデータを更新しようと考えております。
トランザクション処理を組み込むと、DBに値が反映されません。
(処理を書き込まないと正常に更新されます)
ソースコードは以下となります。
public boolean deleteEmployeeInfo(EmployeeInfoDto employeeInfoDto) { CommonDao common = new CommonDao(); Connection conn = null; PreparedStatement pStmt = null; try { SqlConstants sqlConst = new SqlConstants(); conn = DriverManager.getConnection(sqlConst.DB_CONNECT_URI, sqlConst.USER_NAME, sqlConst.PASSWORD); pStmt = conn.prepareStatement(sqlConst.DELETE_EMPLOYEE_INFO); conn.setAutoCommit(false); pStmt.setString(1, employeeInfoDto.getEmployeeId()); conn.commit(); if (pStmt.executeUpdate() != 1) return false; } catch (SQLException e) { try { if (conn != null) { conn.rollback(); } } catch (SQLException e1) { e1.printStackTrace(); } e.printStackTrace(); return false; } finally { if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } }
処理の記述に間違いがあるのか、ご教授いただけますでしょうか。
バージョン:MySQL8.0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/13 13:38
2019/06/13 13:41