for循环中循环一次提交一次 insert update 关闭事务 spring springboot mybatis

省流:

 在方法上直接加如下注解:

@Transactional(propagation = Propagation.NOT_SUPPORTED)
public void t1(){
    //业务代码
}

正文:

在测试的时候,有时候会希望在for循环中,代码循环一次就提交一次事务。

方法一: 

最简单的方式,就是关闭事务,不需要事务。添加注解如下:

@Transactional(propagation = Propagation.NOT_SUPPORTED)
public void t1(){
    //业务代码
}

方法二:

如果说是真的在生产上有这样的需要,每循环一次就提交事务,那就需要手动控制事务了。

需要这几行代码:

            DefaultTransactionDefinition dt = new DefaultTransactionDefinition();
            dt.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);
            TransactionStatus status = platformTransactionManager.getTransaction(dt);
            platformTransactionManager.commit(status);

用法如下: 

Spring Boot 中使用 MyBatis 进行数据操作,可以通过以下步骤进行提交: 1. 首先,确保已经在项目的 pom.xml 文件中添加了 MyBatisMyBatis-Spring 的依赖。可以通过以下代码片段添加依赖: ```xml <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.2.0</version> </dependency> ``` 2. 在 Spring Boot 的配置文件(application.properties 或 application.yml)中配置数据库连接信息。例如,对于 MySQL 数据库,可以添加以下配置: ```properties spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase spring.datasource.username=username spring.datasource.password=password spring.datasource.driver-class-name=com.mysql.jdbc.Driver ``` 3. 创建一个实体类(Entity),表示数据库中的一张表。使用 `@Entity` 注解标记实体类,并使用 `@Table` 注解指定对应的表名和主键列名。 4. 创建一个对应实体类的 Mapper 接口,用于定义数据库操作的方法。方法可以使用 MyBatis 提供的注解(如 `@Select`、`@Insert`、`@Update`、`@Delete`)来标记 SQL 语句。 5. 在 Mapper 接口上添加 `@Mapper` 注解,以便让 Spring Boot 自动扫描并生成对应的实现类。 6. 在业务逻辑层(Service)中调用 Mapper 接口中定义的方法进行数据操作。 7. 在需要提交数据的方法上添加 `@Transactional` 注解,以确保在方法执行完毕后进行事务提交。如果方法执行过程中发生异常,则事务会回滚。 以上是使用 Spring Boot 和 MyBatis 进行数据提交的一般步骤,具体可以根据项目需求进行适当调整和扩展。希望对你有帮助!如果还有其他问题,请继续提问。
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

globalcoding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值