当前位置: 首页 > article >正文

关于mybatis插入返回主键id和SpringBoot事务注解自调用演示

文章目录

    • 一. 插入返回任意规则主键ID
    • 二. SpringBoot自调用事务
      • 2.1 场景1
      • 2.2 场景2
    • 自调用结论总结


一. 插入返回任意规则主键ID

··实体对象

@TableName("bank")
@Data
public class Entity {
    @TableId("id")
    Integer id;
    @TableField("money")
    Integer money;
    @TableField("name")
    String name;

    public Entity(String name,Integer money){
        this.name = name;
        this.money = money;
    }
}

在这里插入图片描述

在这里插入图片描述
结论:返回值依旧是受影响行数,但insert标签中selectKey.keyProperty可以绑定入参对象的指定属性。
keyProperty: 绑定到入参对象的属性
order: 指定该标签语句执行顺序


二. SpringBoot自调用事务

在这里插入图片描述
下列是程序执行前数据库快照
在这里插入图片描述

2.1 场景1

事务入口public方法,自调用子方法规则任意
执行金额增加和扣减快照如下
在这里插入图片描述
变种
在这里插入图片描述
在这里插入图片描述
事务均成功
结论: 建议事务注解放在controller层。或者放在controller调用的第一个service作为事务入口 不需要考虑很多问题


2.2 场景2

自调用子方法为事务入口
无事务方法,自调用有事务方法
代码执行后快照
在这里插入图片描述
结论:事务失效

自调用结论总结

结论: 建议事务注解放在controller层。或者放在controller调用的第一个service作为事务入口 不需要考虑很多问题


http://www.kler.cn/a/147001.html

相关文章:

  • MySQL的聚簇索引和二级索引
  • 深度学习transformer
  • uniapp隐藏自带的tabBar
  • 前景理论(Prospect Theory)
  • 【目标检测】【Ultralytics-YOLO系列】Windows11下YOLOV5人脸目标检测
  • MySQL-关联查询和子查询
  • nodejs+vue+elementui学生竞赛管理系统65o97
  • 基于CW32F030单片机的便携式多功能测试笔
  • [datastore@cyberfear.com].Elbie、[thekeyishere@cock.li].Elbie勒索病毒数据怎么处理|数据解密恢复
  • 【后端】数据字典自动生成枚举
  • Spring Boot 实现 PDF 水印,实战来了!
  • Android 11.0 Launcher3 去掉长按屏幕微件里面的设置和日历等微件
  • 05-学成在线课程分类查询
  • Arduino(NodeMcu)上传程序时出现“上传错误:exit status 2”
  • 07 服务间调用:openFeign上下文信息丢失
  • 【无头双向链表和链表练习题2】
  • 【AI】MMLab环境搭建
  • linux下的工具---vim
  • 深度学习之图像分类(十四)CAT: Cross Attention in Vision Transformer详解
  • 测试数据随机,给2n个点,求所有偏移量,使得每两个点成为一个匹配
  • Wireshark的捕获过滤器
  • Unity之NetCode多人网络游戏联机对战教程(10)--玩家动画同步
  • LabVIEW当鼠标悬停在图形曲线上时显示坐标
  • 蓝桥杯每日一题2023.11.26
  • 一个C++ string使用问题的分析及解决
  • Junos webauth_operation.php 文件上传漏洞复现(CVE-2023-36844)