事务管理---------------------在Dao层进行事务管理
dao层来操作我们数据的更新 此处的事务 都是针对我们的单条sql 单条记录操作
@Override
public void insertEmp(Emp emp) throws SQLException {
Connection conn = queryRunner.getDataSource().getConnection();
conn.setAutoCommit(false);
String sql = "insert into emp (empno,ename,job,hiredate,sal) values(?,?,?,?,?)" ;
queryRunner.update(conn,sql,emp.getEmpno(),
emp.getEname(),emp.getJob(),emp.getHiredate(),emp.getSal());
conn.commit();
}
@Override
public void updateEmp(Emp emp) throws SQLException {
Connection conn = queryRunner.getDataSource().getConnection();
conn.setAutoCommit(false);
String sql = "update emp set ename=? ,job=?,sal=? where empno=?" ;
queryRunner.update(conn,sql,
emp<

本文探讨了在Dao层进行事务管理的问题,指出当服务层方法出现异常时可能导致数据一致性问题。为了解决这个问题并保持事务与业务逻辑的解耦,建议将事务控制提升到Service层。通过动态代理技术,可以在不修改业务层代码的前提下,实现事务的合理管理和数据一致性保障。

295

被折叠的 条评论
为什么被折叠?



