Spring-事务管理【重点】
2021-01-29 08:13
标签:update time system 查询 upd pac http 只读 select 事务的提交和回滚 交给spring JavaEE开发中,事务位于Service层, 由程序判断:出现异常事务回滚,未出异常事务提交。 Spring使用AOP技术进行事务控制,自行帮开发人员适时提交或者回滚事务 Spring:service层未出异常,事务自动提交 Service层出现异常,事务自动回滚 环境搭建,详见下篇spring和MyBatis的整合噢 测试类: /** Service类: /** 测试类: /** Service类: @Override Test: @Test Service: @Override 删除用户: Test: @Test Service: @Override 通过 管理方式: Service方法未出异常,事务自动提交 Service方法出了异常,事务自动回滚 开发中,为了提升程序运行效率,建议DQL查询语句 和 DML增删改语句使用不同类型的事务。 注解 描述 @Transactional(readOnly=true) 只读事务、提升运行效率,DQL使用 @Transactional(readOnly=false) 默认值,非只读事务,可以进行增删改操作。DML使用 修改后的service类: @Service 默认值是-1,没有超时限制。如果有,以秒为单位进行设置。(一般不设置) 注解 描述 @Transactional(timeout=60) 设置超时为60秒,如果还没有操作结束,将抛异常。 总的来说: Spring事务管理:(AOP) Spring配置类:开启事务管理 Service层:@Transactional: 标记当前类的事务由spring管理 Spring管理事务的方式: 看完恭喜你,又进步了一点点!!! 你知道的越多,不知道的越多! ~感谢志同道合的你阅读, 你的支持是我学习的最大动力 ! 加油 ,陌生人一起努力,共勉!! 推荐:绥化SEO Spring-事务管理【重点】 标签:update time system 查询 upd pac http 只读 select 原文地址:https://www.cnblogs.com/vwvwvwgwg/p/12833408.htmlSpring-事务管理
一.简述
二.Spring事务的操作
* 查询所有用户信息
*/
@Test
public void run1(){
List
for (User user : ulist) {
System.err.println(user);
}
}
* 查询所有用户信息
* @return
*/
@Override
public List
return userDao.selectAll();
}
* 添加一条用户信息
*/
@Test
public void run2(){
int row = userService.saveUser(new User("009","小张","123"));
System.err.println("添加成功了:"+row);
}
public int saveUser(User user) {
return userDao.insert(user);
}
public void run3(){
//创建一个用户对象
user user = new user("222", "aaa", "1111");
//调用service
int row=service.updateUser(user);
System.err.println(row);
}
public int updateUser(user user) {
int i = dao.updateByPrimaryKey(user);
return i;
}
public void run4(){
int row= service.deleteUser("222");
System.err.println(row);
}
public int deleteUser(String s) {
int i = dao.deleteByPrimaryKey(s);
return i;
}小结:
@Transactional
public class UserServiceImpl implements UserService {
@Resource
private UserDao userDao;
/**
* 查询所有用户信息
* @return
*/
@Transactional(readOnly = true)
@Override
public List
return userDao.selectAll();
}
@Override
public int saveUser(User user) {
return userDao.insert(user);
}
}