2015-12-01 150 views
0

哪一種是從數據庫中刪除記錄的最佳方式?SQL最佳刪除記錄方式

使用Spring JDBC 3.1.1

String SQL="DELETE FROM XXX WHERE USERNAME=?"; 

查詢1:

getJdbcTemplate().execute(SQL, new PreparedStatementCallback<Boolean>() { 
      @Override 
      public Boolean doInPreparedStatement(PreparedStatement ps) throws SQLException, DataAccessException { 
       ps.setString(1, username); 
       return ps.execute(); 
      } 
     }); 

問題2:

int deletedRecordSize = getJdbcTemplate().update(SQL, username); 

回答

0

DELETE作爲是數據改變操​​作無論如何你應該在你的第一個查詢中調用executeUpdate。這將返回int以及減少代碼的長度和可讀性的差異。

在這種情況下查詢2看起來更短&更清潔。

0

試試這個try catch塊烏爾刪除方法中:

try{ 
       String SQL="DELETE FROM XXX WHERE USERNAME=?"; 
       ps = conn.prepareStatement(sql); //conn here is the usual object fro DB connection class 

       ps.setString(1, username); 
       ps.execute(); 
       JOptionPane.showMessageDialog(null,"DONE DELETING", "DONE",1); 
      }catch(SQLException | HeadlessException e){ 

     } 
+0

什麼是查詢之間的比較1和查詢2?爲什麼我需要選擇查詢1? –

+0

如果你想讓實際的刪除操作使用第一個查詢。 我貼的樣式也很常見 – JBALI

+0

實際刪除的含義是什麼?它是否包含特殊操作? –