1.contrller层代码
@RestController
@RequestMapping("transactionnalDemo")
public class TransactionnalDemoController {
@Autowired
TransactionnalDemoService transactionnalDemoService;
@RequestMapping(value = "/insert", method = RequestMethod.GET)
public void insert() throws Exception {
try {
int i = transactionnalDemoService.saveTransactionnalDemo();
System.out.println("contrell层返回值:"+i);
} catch (Exception e) {
System.out.println("contrell层异常信息:"+e.getMessage());
}
}
}
2.service层代码
@Service
public class TransactionnalDemoServiceImpl implements TransactionnalDemoService {
@Autowired
TransactionnalDemoDao transactionnalDemoDao;
@Override
@Transactional
public int saveTransactionnalDemo() {
//14,15,16数据库中以存在,17数据库不存在所以更新返回0出现异常抛出异常回滚
String[] numberStrin = {"14","15","16","17"};
for(int i = 0;i<numberStrin.length;i++) {
//transactionnalDemoDao.saveTransactionnalDemo(numberStrin[i]);
int k = transactionnalDemoDao.updateTransactionnalDemo(numberStrin[i]);
System.out.println("返回值:"+k);
if(k == 0){
throw new RuntimeException("新增异常");
}
}
return 1;
}
}
3.dao层代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dao.TransactionnalDemoDao">
<!-- 保存服务用户信息 -->
<insert id="saveTransactionnalDemo" >
insert into transactionnal_demo(transactionnal_number) values(#{transactionnalNumber})
</insert>
<update id="updateTransactionnalDemo">
update transactionnal_demo set transactionnal_number = 3 where id = #{id}
</update>
</mapper>