SpringBoot集成MyBatis开启事务

来源:互联网 发布:淘宝刷单详细流程图 编辑:程序博客网 时间:2024/06/06 10:01

需要要serviceImple类里添加二个注解

@Transactional()所有的方法都使用事务

@Transactional(readOnly=true)  readOnly=true该方法不使用事

package cn.et.ssmboot.service.impl;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import org.springframework.transaction.annotation.Transactional;import cn.et.ssmboot.dao.EmpDao;import cn.et.ssmboot.entity.Emp;import cn.et.ssmboot.service.EmpService;import cn.et.ssmboot.utils.PageEntity;import cn.et.ssmboot.utils.PageUtils;/** * 服务层掉用dao层的方法  * @author Administrator * @Transactional()所有的方法都使用事务 * 除query */@Transactional()@Servicepublic class EmpServiceImpl implements EmpService {//自动装配@Autowiredprivate EmpDao dao;/* 查询 * @see cn.et.emp.dao.impl.EmpDao#query(java.lang.String) * readOnly=true该方法不使用事务 */@Transactional(readOnly=true)public PageEntity query(String ename,int curPage){//获取到总条数int total = dao.queryCount(ename);//再创建PageEntity实体类把当前页,每页显示多少条数据和总共多少条数据传进去PageEntity pe = PageUtils.calc(curPage, 10, total);List list = dao.queryPage(ename, pe.getStartIndex(), pe.getEndIndex());pe.setData(list);return pe;}/* 新增 * @see cn.et.emp.dao.impl.EmpDao#add(java.lang.String, java.lang.String) */public void add(String ename,String sal){dao.add(ename, sal);}/* 删除 * @see cn.et.emp.dao.impl.EmpDao#delete(java.lang.String) */public void delete(String eno){dao.delete(eno);}/* 修改 * @see cn.et.emp.dao.impl.EmpDao#update(en.et.emp.entity.Emp) */public void update(Emp emp){dao.update(emp);}public PageEntity query(String ename) {// TODO Auto-generated method stubreturn null;}}



然后还要在Main方法入口添加一个注解

 @EnableTransactionManagement
  表示全局启用事务

package cn.et.ssmboot;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.context.annotation.ImportResource;import org.springframework.transaction.annotation.EnableTransactionManagement;/** * 自动增加spring.xml文件,并且配置自动扫描 * 自动增加web.xml 同时在web.xml过滤器、拦截器... *  * @EnableAutoConfiguration要替换成@SpringBootApplication * 不然扫描不到dao层,装配不了EmpDaoImpl * 要装配的对象必须位于HelloController类共一个包或它的子包下才可以扫描的到 *  * @EnableTransactionManagement * 表示全局启用事务 *  * @ImportResource(locations="classpath:/spring.xml") * 加载spring的配置文件,会自动加载spring里所有的bean * 也会自动配置 */@EnableTransactionManagement@ImportResource(locations="classpath:/spring.xml")@SpringBootApplicationpublic class MyStarter {public static void main(String[] args) {//发布程序的方法入口SpringApplication.run(MyStarter.class, args);}}

原创粉丝点击