首先声明,额是菜鸟,弱弱的问大神一个问题:
环境:系统采用了分层,但是业务逻辑却写在了Dao层,而事务控制在Service层,(大家应该知道这个Service层基本就是个空架子了)。
问题:在Dao的方法里边,有对多个数据库表进行修改的操作。这样Service层的事务管理能起到作用吗???
PS:这不是我写的程序,只是忽然间发现自己也很小白,请拍砖,但莫要人身攻击俺~~.问题没啥技术含量 就给20分吧
环境:系统采用了分层,但是业务逻辑却写在了Dao层,而事务控制在Service层,(大家应该知道这个Service层基本就是个空架子了)。
问题:在Dao的方法里边,有对多个数据库表进行修改的操作。这样Service层的事务管理能起到作用吗???
PS:这不是我写的程序,只是忽然间发现自己也很小白,请拍砖,但莫要人身攻击俺~~.问题没啥技术含量 就给20分吧
直接和业务逻辑高在一块了,即做逻辑判断又查询数据可能我描述不太清楚,举个例子吧:
service的方法如
public void updateMessage(Message m) {
messageDao.updateMessage(m);
} 只是进行了Dao的调用其他啥都没做。而在Dao层中需要同时修改两个表的数据,如下:
public void updateMessage(Message m) {
//修改第一个表的数据
String sql1 = "update Message1 set column1 =" + m.getMessage() + " where id=" + m.getId();
getJdbcTemplate().update(sql1);
//修改第二个表的数据
String sql2 = "update Message2 set column2 =" + m.getMessage() + " where id=" + m.getId();
getJdbcTemplate().update(sql2);
}而系统中Spring把事务声明在了Service的方法中,这样可以保证多用户访问时候,两个修改是原子性操作码???