zoukankan      html  css  js  c++  java
  • spring boot mysql 事务

    mysql默认 事务自动提交。即:每条insert/update/delete语句,不需要程序手工提交事务,而是mysql自行提交了。

    如果我们想实现程序事务提交,需要事先关闭mysql的自动提交事务。

    但是,如果采用spring管理事务,不需要实现关闭mysql自动提交事务的,因为,spring会帮你关闭mysql的自动提交事务。

    spring:

    <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource" />
    </bean>
    <!-- enable transaction annotation support -->
    <tx:annotation-driven transaction-manager="txManager" />

    springboot:

    1)、启动类上加@EnableTransactionManagement

    @EnableTransactionManagement
    @SpringBootApplication
    @Slf4j
    public class Application {
        public static void main(String[] args) {
            SpringApplication app = new SpringApplication(Application.class);
            app.setBannerMode(Banner.Mode.OFF);
            app.run(args);
            log.info("PortalApplication is success!");
        }
    }

    service的方法上加:@Transactional

    @Transactional(readOnly = false, rollbackFor = Exception.class)
        public AddProjectInfoDto.Resp addPrj(AddProjectInfoDto.Req req) {
    ...
    }
  • 相关阅读:
    百度地图API示例之小实践 添加代理商标注
    MySQL分组操作
    MySQL连表操作
    MySQL多对多操作
    MySQL一对一操作
    MySQL唯一索引
    MySQL用户授权管理
    MySQL外键操作
    MySQL删操作
    MySQL增操作
  • 原文地址:https://www.cnblogs.com/yaoyuan2/p/10280544.html
Copyright © 2011-2022 走看看