我有以下代码:
Connection conn = ConnectionFactory.getInstance().getConnection();
conn.setAutoCommit(false);
Savepoint s = conn.setSavepoint("myFirstSavepoint");
PreparedStatement ps =
conn.prepareStatement(sql);
ps.setString(1, flashCard.getQuestion());
ps.setString(2, flashCard.getAnswer());
ps.executeUpdate();
conn.rollback(s);
conn.commit();
conn.setAutoCommit(true);
我的问题是将陈述conn.rollback(s)
和conn.commit()
一个接一个地放在一起的目的是什么?我认为这段代码永远不会达到它的目的,因为永远不会插入新的语句。