SpringMVC,Mybatis結合事務Transaction

  • 2019 年 10 月 8 日
  • 筆記

5.SpringMVC,Mybatis結合事務Transaction 前面講過,Spring事務就是針對某一個方法,在頭和尾環繞上一對兒事務的開始和結束語句段,方法里針對資料庫的操作就成為了一個事務。具體怎麼樣訪問資料庫,是JDBC,還是Spring JDBC還是Mybatis,Spring的事務並不關心。所以mybatis這裡的事務的配置和實驗和前面的Spring JDBC是一樣的。 例 1.5 package com; import java.io.IOException; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class HelloWorldController { @Resource private ILoginService loginServic; @RequestMapping("/helloa") public void helloWorld(HttpServletResponse res) throws IOException { loginServic.login(); res.sendRedirect("index.jsp"); } } package com; import javax.annotation.Resource; import org.springframework.stereotype.Service; import com.mapper.RegisterMapper; @Service public class LoginServiceImpl implements ILoginService { @Resource private RegisterMapper registerMapper; public void login() { updateRegister(); System.out.println("successfully update 1"); insertRegisterWrong();//duplicate key System.out.println("successfully insert 2"); } public void updateRegister() { Register registerU = new Register(); registerU.setId(52); registerU.setName("bbb2"); registerU.setAge(80); System.out.println("registerMapper.updateByPrimaryKey 的返回值是 "+registerMapper.updateByPrimaryKey(registerU)); } public void insertRegisterWrong() { Register register = new Register(); register.setAge(80); register.setId(50); register.setName("aaa"); registerMapper.insert(register); } } 更多請見:https://blog.csdn.net/qq_44639795/article/details/100173346