在Java中,可以使用以下两种方式来处理和管理事务:
Connection conn = null;
try {
conn = getConnection();
conn.setAutoCommit(false);
// 执行数据库操作
conn.commit();
} catch (SQLException e) {
if (conn != null) {
conn.rollback();
}
} finally {
if (conn != null) {
conn.setAutoCommit(true);
conn.close();
}
}
@Service
@Transactional
public class UserService {
@Autowired
private UserDao userDao;
public void addUser(User user) {
userDao.addUser(user);
}
}
在上述示例中,通过在Service类上添加@Transactional注解,Spring会自动管理该类中的所有方法的事务。当方法执行时,如果发生异常,事务将会回滚。