SQL Best删除记录方式

时间:2015-12-01 08:24:12

标签: java database oracle spring-data

哪一个是从DB中删除记录的最佳方法?

使用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);

3 个答案:

答案 0 :(得分:0)

由于DELETE是数据更改操作,您应该在第一个查询中调用executeUpdate。然后,这将返回int,同时减少代码长度和可读性的差异。

在哪种情况下查询2 看起来更短&amp;清洁剂。

答案 1 :(得分:0)

尝试在你删除方法中尝试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){

       }

答案 2 :(得分:0)

我认为两者都是相同的链接

http://www.javatpoint.com/spring-JdbcTemplate-tutorial

enter image description here