java – 如何在服务层中进行事务
发布时间:2020-12-15 02:15:59 所属栏目:Java 来源:网络整理
导读:我的项目中有一个DAO层.这是我的UsersDao接口,它的实现UsersDaoImpl public interface UsersDao { public Users insert(Users object); }public class UsersDaoImpl implements UsersDao { @Override public Users insert(Users object) { String sqlQuery =
我的项目中有一个DAO层.这是我的UsersDao接口,它的实现UsersDaoImpl
public interface UsersDao { public Users insert(Users object); } public class UsersDaoImpl implements UsersDao { @Override public Users insert(Users object) { String sqlQuery = null; PreparedStatement stmt = null; try (Connection connection = DbConnector.getConnection()) { sqlQuery = "INSERT INTO `users`(login,password,passwordSalt,name,surname)" + " values (?,?,?);"; stmt = connection.prepareStatement(sqlQuery); stmt.setString(1,"fsf"); stmt.setString(2,"f"); stmt.setString(3,"af"); stmt.setString(4,"fddsg"); stmt.setString(5,"sdgsgd"); stmt.executeUpdate(); stmt.close(); return object; } catch (SQLException e) { System.err.println(e.getMessage()); return null; } } 这是我的服务层类和接口. public interface UsersService{ public Users insert(Users object); } public class UsersServiceImpl implements UsersService{ UsersDaoImpl users = new UsersDaoImpl(); public Users insert(Users object){ return users.insert(object); } 我需要写入我的服务方法,我可以在异常捕获时进行回滚吗?如何在我的服务方法中记录写入事务?你能告诉我一些例子吗?感谢名单! 解决方法
首先,如果发生异常,则不会插入数据集,因此会回滚它.
如果您具有链接的单独原子操作,则使用事务.这意味着如果您需要回滚一个错误. 如果您使用JDBC compiant驱动程序,请查看此处https://docs.oracle.com/javase/tutorial/jdbc/basics/transactions.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |