iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >springboot怎样开启声明式事务
  • 295
分享到

springboot怎样开启声明式事务

2023-06-19 12:06:11 295人浏览 薄情痞子
摘要

这篇文章给大家介绍SpringBoot怎样开启声明式事务,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。springboot开启事务很简单,只需要一个注解@Transactional 就可以了。因为在springboot

这篇文章给大家介绍SpringBoot怎样开启声明式事务,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

springboot开启事务很简单,只需要一个注解@Transactional 就可以了。因为在springboot中已经默认对jpa、jdbc、mybatis开启了事事务,引入它们依赖的时候,事物就默认开启。当然,如果你需要用其他的ORM,比如beatlsql,就需要自己配置相关的事物管理器。

准备阶段

以上一篇文章的代码为例子,即springboot整合mybatis,上一篇文章是基于注解来实现mybatis的数据访问层,这篇文章基于xml的来实现,并开启声明式事务。

环境依赖

在pom文件中引入mybatis启动依赖:

<dependency>            <groupId>org.mybatis.spring.boot</groupId>            <artifactId>mybatis-spring-boot-starter</artifactId>            <version>1.3.0</version></dependency>

引入mysql 依赖

<dependency>            <groupId>Mysql</groupId>            <artifactId>mysql-connector-java</artifactId>            <scope>runtime</scope>        </dependency>        <dependency>            <groupId>com.alibaba</groupId>            <artifactId>druid</artifactId>            <version>1.0.29</version>        </dependency>

初始化数据库脚本

-- create table `account`# DROP TABLE `account` IF EXISTSCREATE TABLE `account` (  `id` int(11) NOT NULL AUTO_INCREMENT,  `name` varchar(20) NOT NULL,  `money` double DEFAULT NULL,  PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;INSERT INTO `account` VALUES ('1', 'aaa', '1000');INSERT INTO `account` VALUES ('2', 'bbb', '1000');INSERT INTO `account` VALUES ('3', 'ccc', '1000');

配置数据源

spring.datasource.url=jdbc:mysql://localhost:3306/testspring.datasource.username=rootspring.datasource.passWord=123456spring.datasource.driver-class-name=com.mysql.jdbc.Drivermybatis.mapper-locations=classpath*:mybatis/*Mapper.xmlmybatis.type-aliases-package=com.forezp.entity

通过配置mybatis.mapper-locations来指明mapper的xml文件存放位置,我是放在resources/mybatis文件下的。mybatis.type-aliases-package来指明和数据库映射的实体的所在包。

经过以上步骤,springboot就可以通过mybatis访问数据库来。

创建实体类

public class Account {    private int id ;    private String name ;    private double money;    getter..    setter..  }

数据访问dao 层

接口:

public interface AccountMapper2 {   int update( @Param("money") double money, @Param("id") int  id);}

mapper:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"        "Http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.forezp.dao.AccountMapper2">    <update id="update">        UPDATE account set money=#{money} WHERE id=#{id}    </update></mapper>

service层

@Servicepublic class AccountService2 {    @Autowired    AccountMapper2 accountMapper2;    @Transactional    public void transfer() throws RuntimeException{        accountMapper2.update(90,1);//用户1减10块 用户2加10块        int i=1/0;        accountMapper2.update(110,2);    }}

@Transactional,声明事务,并设计一个转账方法,用户1减10块,用户2加10块。在用户1减10 ,之后,抛出异常,即用户2加10块钱不能执行,当加注解@Transactional之后,两个人的钱都没有增减。当不加@Transactional,用户1减了10,用户2没有增加,即没有操作用户2 的数据。可见@Transactional注解开启了事物。

springboot 开启事物很简单,只需要加一行注解就可以了,前提你用的是jdbctemplate, jpa, mybatis,这种常见的orm。

关于springboot怎样开启声明式事务就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: springboot怎样开启声明式事务

本文链接: https://www.lsjlt.com/news/296023.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • springboot怎样开启声明式事务
    这篇文章给大家介绍springboot怎样开启声明式事务,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。springboot开启事务很简单,只需要一个注解@Transactional 就可以了。因为在springboot...
    99+
    2023-06-19
  • 使用springboot如何实现开启声明式事务
    这期内容当中小编将会给大家带来有关使用springboot如何实现开启声明式事务,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。springboot开启事务很简单,只需要一个注解@Transactional...
    99+
    2023-05-31
    springboot 声明式事务
  • spring注解如何开启声明式事务
    目录spring开启声明式事务导入依赖配置类文件业务逻辑编写测试代码总结spring开启声明式事务 导入依赖 pom.xml <dependencies>        ...
    99+
    2022-12-28
    spring 注解 注解开启声明式事务 spring声明式事务
  • SpringBoot 注解事务声明式事务的方式
     springboot 对新人来说可能上手比springmvc要快,但是对于各位从springmvc转战到springboot的话,有些地方还需要适应下,尤其是xml配置。我个人是比较喜欢注解➕xml是因为看着方便,查找方便,...
    99+
    2023-05-31
    spring boot 注解
  • 云服务器怎么开启声音功能模式
    如果您的云服务器使用了声卡或者麦克风来实现语音通话功能,那么您可以尝试下面的方法: 检查您的语音设置是否正确。 打开您的麦克风和扬声器来尝试语音通话。 检查您的声卡驱动是否正确。 在以上方法都无效的情况下,您可以尝试以下的解决方法: ...
    99+
    2023-10-26
    声音 模式 功能
  • 云服务器怎么开启声音功能模式啊
    在云服务器的设计中,声音功能模式可以为用户提供更加直观、易用的控制界面。当用户访问云服务器时,系统会自动开启声音功能,允许用户控制服务器的音频设置,例如音量、音频输出等等。 对于企业用户而言,声音功能模式也可以为他们提供更加便捷的服务。当...
    99+
    2023-10-28
    声音 模式 功能
  • Springboot中怎么用Netty开启UDP服务方式
    这篇文章主要介绍了Springboot中怎么用Netty开启UDP服务方式,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。NettyNetty是一种提供网络编程的工具,是对so...
    99+
    2023-06-25
  • 云服务器怎么开启声音功能模式设置
    首先,要开启云服务器的音频功能,首先需要在服务器端设置音频设备,比如连接麦克风或者连接耳机。具体的操作步骤如下: 登录云服务器控制台,进入“音频设置”选项。 在“音频设置”中,可以看到麦克风和耳机两个选项。在麦克风选项中,可以选择不同的...
    99+
    2023-10-28
    声音 模式 功能
  • 云服务器怎么开启声音功能模式啊苹果
    云服务器是一种虚拟化技术,它将计算资源、存储资源等物理资源进行抽象化,然后通过云服务器提供的API接口,将这些资源进行共享和协作。在使用云服务器的过程中,我们需要关注的主要是两个方面: 一是资源共享。在云服务器上,我们可以通过云服务器提供...
    99+
    2023-10-27
    声音 苹果 模式
  • 云服务器怎么开启声音功能模式啊手机
    随着互联网的快速发展,越来越多的人选择使用云服务器来存储和处理他们的数据。使用云服务器的好处是显而易见的,如下所示: 安全性更高:云服务器采用多重身份验证和加密技术,可以保护用户的数据和隐私。此外,云服务器可以支持多种平台和操作系统,并...
    99+
    2023-10-28
    声音 模式 功能
  • SpringBoot分布式事务中最大努力通知是怎样的
    今天就跟大家聊聊有关SpringBoot分布式事务中最大努力通知是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。环境:springboot.2...
    99+
    2022-10-19
  • web开发中的分布式事务是怎样的
    web开发中的分布式事务是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。事务(Transaction):一般是指要做的或...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作