第一步:mybatis.xml中添加支持事務的配置
<!-- 配置事務管理器 -->
<bean id="txManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="ds"/>
</bean>
<!-- 配置基于注解的宣告式事務 -->
<tx:annotation-driven transaction-manager="txManager"/>
第二步:Service實作類提供用來測驗事務支持與否的方法
@Service
public class UserServiceImpl implements UserService {
@Resource
private UserMapper userMapper;
//@Transactional //--------①
@Override
public int insert(User record) {
User user1 = new User();
user1.setNickname("aa");
user1.setAccount("aaaaaaa");
userMapper.insert(user1);
//System.out.println(3/0); //----------②
User user2 = new User();
user2.setNickname("bb");
user2.setAccount("bbbbbbb");
userMapper.insert(user2);
return 1;
}
}
測驗代碼
@ExtendWith(SpringExtension.class)
@ContextConfiguration("/applicationContext.xml")
class UserServiceTest {
@Resource
private UserService userService;
@Test
void insert(){
userService.insert(null);
}
}
具體測驗作業
-
直接運行測驗代碼,發現兩條資料都添加成功
-
僅去掉編號①行首的注釋,運行測驗代碼,發現程式不報錯,兩條資料都添加進資料庫了
-
僅去掉編號②行首的注釋,運行測驗代碼,發現程式報錯,但在第一條資料添加成功
-
同時去掉編號①和編號②行首的注釋,運行測驗代碼,發現程式報錯,一條資料也沒有添加進資料庫
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/356175.html
標籤:其他
上一篇:mysql-day02筆記
下一篇:檢查hsqldb行程是否失敗
