返回顶部
首页 > 资讯 > 精选 >springboot怎么配置mybatis和事务管理
  • 381
分享到

springboot怎么配置mybatis和事务管理

2023-07-05 23:07:59 381人浏览 安东尼
摘要

本篇内容主要讲解“SpringBoot怎么配置mybatis和事务管理”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“springboot怎么配置mybatis和事务管理”吧!一、Spring B

本篇内容主要讲解“SpringBoot怎么配置mybatis事务管理”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习springboot怎么配置mybatis和事务管理”吧!

一、Spring Boot与mybatis的配置

首先,spring boot 配置mybatis需要的全部依赖如下:

<!-- Spring Boot 启动父依赖 --><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.1.RELEASE</version></parent><!--以上内容放在dependencies标签外,如果你有已经有父标签,那将以上部分粘贴到父项目中--><!-- spring boot 项目启动必须引入的WEB依赖,以下内容放在dependency即可 --><dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-web</artifactId>    <version>1.5.1.RELEASE</version></dependency>        <!-- Spring Boot Mybatis 依赖 --><dependency>    <groupId>org.mybatis.spring.boot</groupId>    <artifactId>mybatis-spring-boot-starter</artifactId>    <version>1.2.0</version></dependency> <!-- oracle数据库驱动包 --><dependency>    <groupId>com.oracle</groupId>    <artifactId>ojdbc6</artifactId>    <version>11.2.0.4.0-atlassian-hosted</version></dependency>

这里主要说一下上边的数据库驱动包,oracle和mysql引入不同的依赖,千万不要忘记。如果忘记引入,会报找不到驱动类异常。 

然后,在application.properties 配置文件里添加如下内容:

##数据库连接信息spring.datasource.url=jdbc:oracle:thin:@//192.168.1.171:1521/orclspring.datasource.username=znxdspring.datasource.passWord=znxdspring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver##指向mapper的xml文件位置mybatis.mapper-locations=classpath:mapper/*Mapper.xml##指向实体类的位置mybatis.type-aliases-package=cloud.user.models.*

上边以spring.datasource 开头的内容其实有很多,具体,在application.properties 文件里输入后看看能点出的内容就知道了。&emsp;&emsp;

springboot默认会把spring.datasource开头的信息收纳,进行DataSource对象的配置,进而进行sqlSessionFactory的配置等相关数据库连接的配置,所以其他很多人会说写什么配置类,那些我感觉没有必要的。(配置druid需要配一个@Bean)&emsp;&emsp;

当然如果是特别详细的,而在application.properties文件里又通过spring.datasource 点不出相关的配置,那可能需要配置类什么的。

mybatis.mapper-locations 所指向的位置是从src/main/resource开始的,前边需要加上classpath,它指向的是你的mapper.xml文件放置的位置。 

我是mybatis通过数据库表逆向工程生成的实体类、mapper等,先把项目具体的放置结构贴出来如下:

springboot怎么配置mybatis和事务管理

对于上图的解释如下:

启动类必须放在项目中相对其他类的最高处,前边文章说过,spring boot没有传统的spring 项目配置的<bean> 标签,它扫描bean的方式就是从启动类依次向下扫描进默认的内置Tomcat容器的。

上图service放置的位置比其实现类放置的位置高,如果有两个service A和B,实现类里有Aimpl和Bimpl,如果有Aimpl调用B的情况,有可能会在启动容器报“a field named &lsquo;B&rsquo; not found”貌似这种错误,说明容器扫描顺序有误。

这种情况的最好的解决办法,就应该像我将service放在高处,容器启动先扫描进service,然后再扫描impl,这样在实现类扫描的时候就肯定能找到service,也就不会出现这种错误了。另一种解决办法是在引入service时多添加一个注解:@Lazy

@Autowired@Lazy //这样就会延迟加载,上图不需要,这里只是解释这注解LogsUserActiveMapper logsUserActiveMapper;

总之,如果出现调用与被调用关系,一定要记得,被调用者要首先被扫描进spring boot内置容器,也就是被调用者的包位置要放的较高一些(位置至少也待相平)。

service实现类上需要加一个@Service 注解。这个可能不需要,我一直没有试试。&emsp;

spring boot+mybatis除了这些要求,还需要在启动类处添加一个注解@MapperScan,如下:

package cloud.kafka;import org.mybatis.spring.annotation.MapperScan;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.transaction.annotation.EnableTransactionManagement;@SpringBootApplication@EnableTransactionManagement //如果mybatis中service实现类中加入事务注解,需要此处添加该注解@MapperScan("cloud.kafka.mapper")  //扫描的是mapper.xml中namespace指向值的包位置public class KafkaLogApplication {    public static void main(String[] args){        SpringApplication.run(KafkaLogApplication.class, args);    }}

如下是我的mapper.xml里namespace的值

<mapper namespace="cloud.kafka.mapper.LogsUserActiveMapper" >

**这样就完成mybatis的配置了。

二、事务的配置

就是在mybatis的基础上加上两个注解

需要的注解为@EnableTransactionManagement@Transactional 两个,它们来自于下边这个包:

spring-tx.jar

该包其实在前边配置mybatis引入依赖时,已自动引入,就是下边这个:

 <!-- Spring Boot Mybatis 依赖 --><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.2.0</version></dependency>

所以只要上边的依赖引入进来,那事务就不需要再引入包了, 

首先,找到你的service实现类,加上@Transactional 注解,如果你加在类上,那该类所有的方法都会被事务管理,如果你加在方法上,那仅仅该方法符合具体的事务。当然我们一般都是加在方法上。因为只有增、删、改才会需要事务。

比如下边的一个插入数据的方法添加事务:

@Override@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT,timeout=36000,rollbackFor=Exception.class)public Integer add(Cbf_jtcy t) {    return cbf_jtcyMapper.insert(t);}

如果不知道里边都是什么东西,可以查看这篇文章,spring,mybatis事务管理配置与@Transactional注解使用

配置完后,spring boot启动类必须要开启事务,而开启事务用的注解就是@EnableTransactionManagement ,如下:

@SpringBootApplication@EnableTransactionManagement @MapperScan("microservice.qssj.mapper")//必须加这个,不加报错,如果不加,也可以在每个mapper上添加@Mapper注释,并且这里还要多填一个注释,那个我忘了,我一直用这个注解public class QssjserviceApplication {    public static void main(String[] args) {        SpringApplication.run(QssjServiceApplication.class, args);    }}

这样就完成了事务的配置。

到此,相信大家对“springboot怎么配置mybatis和事务管理”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: springboot怎么配置mybatis和事务管理

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

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

猜你喜欢
  • springboot怎么配置mybatis和事务管理
    本篇内容主要讲解“springboot怎么配置mybatis和事务管理”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“springboot怎么配置mybatis和事务管理”吧!一、spring b...
    99+
    2023-07-05
  • springboot配置mybatis和事务管理方式
    目录一、spring boot与mybatis的配置二、事务的配置总结一、spring boot与mybatis的配置 1.首先,spring boot 配置mybatis需要的全部...
    99+
    2023-05-15
    springboot配置mybatis springboot事务管理 事务管理mybatis
  • SpringBoot Mybatis怎么配置文件
    这篇文章主要介绍“SpringBoot Mybatis怎么配置文件”,在日常操作中,相信很多人在SpringBoot Mybatis怎么配置文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答...
    99+
    2023-07-05
  • SpringMVC+MyBatis 事务管理(实例)
    前言        spring事务管理包含两种情况,编程式事务、声明式事务。而声明式事务又包括基于注解@Transactional和tx+aop的方式。那么本文先分析编...
    99+
    2023-05-31
    springmvc mybatis 事务管理
  • SpringBoot的依赖管理配置
    目录1.spring-boot-starter-parent依赖2.spring-boot-starter-web依赖问题1:为什么导入dependency时不需要指定版本? 在Sp...
    99+
    2024-04-02
  • 详解SpringBoot和Mybatis配置多数据源
    目前业界操作数据库的框架一般是 Mybatis,但在很多业务场景下,我们需要在一个工程里配置多个数据源来实现业务逻辑。在SpringBoot中也可以实现多数据源并配合Mybatis框架编写xml文件来执行SQL。在SpringBoot中,配...
    99+
    2023-05-31
    springboot mybatis 多数据源
  • Mybatis源码解析之事务管理
    目录Mybatis事务管理和Spring整合后的事务管理Mybatis事务管理 我们可以在mybatis-config.xml中配置事务管理器的实现 <transactio...
    99+
    2024-04-02
  • SpringBoot的依赖管理配置方法
    这篇文章主要介绍“SpringBoot的依赖管理配置方法”,在日常操作中,相信很多人在SpringBoot的依赖管理配置方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SpringBoot的依赖管理配置方法...
    99+
    2023-07-02
  • 云服务器怎么配置管理
    云服务器配置管理的主要任务包括以下几个方面: 配置服务器环境:在服务器上选择一个合适的环境,例如托管环境、本地服务器或云端配置。环境应该满足云服务提供商的要求,并且可以支持其他类型的云服务。 配置服务器设置:根据服务提供商的要求,选择合...
    99+
    2023-10-26
    服务器 配置管理
  • ASP.NET Core怎么配置和管理Web主机
    本篇内容主要讲解“ASP.NET Core怎么配置和管理Web主机”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ASP.NET Core怎么配置和管理Web主机”吧!1.前言...
    99+
    2023-06-29
  • springboot怎么配置和启用log4j2
    要在Spring Boot项目中配置和启用Log4j2日志框架,可以按照以下步骤进行操作: 添加Log4j2依赖:在pom.xml...
    99+
    2024-04-08
    springboot log4j2
  • mybatis在springboot配置的方法是什么
    在Spring Boot中配置MyBatis,可以按照以下步骤进行操作:1. 添加MyBatis和相关依赖:在pom.xml文件中添...
    99+
    2023-10-21
    mybatis springboot
  • PostgreSQL怎么管理事务
    在 PostgreSQL 中,可以通过以下方法来管理事务: 开始事务:使用 BEGIN 或 START TRANSACTION ...
    99+
    2024-04-09
    PostgreSQL
  • SpringBoot超详细讲解事务管理
    目录1. 事务的定义2. 事务的特性3. 事务的隔离性4. 事务管理5. 示例1. 事务的定义 事务是由 N 步数据库操作序列组成的逻辑执行单元,这系列操作要么全部执行,要么全部放弃...
    99+
    2024-04-02
  • Springboot怎么集成mybatis实现多数据源配置
    本文小编为大家详细介绍“Springboot怎么集成mybatis实现多数据源配置”,内容详细,步骤清晰,细节处理妥当,希望这篇“Springboot怎么集成mybatis实现多数据源配置”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入...
    99+
    2023-07-02
  • 云服务器怎么配置管理器
    云服务器的配置管理器是指一种方便管理云服务器的软件,可以帮助您轻松管理和配置云服务器以满足您的需求。以下是一些常见的配置管理器选择建议: OpenStack Cloud Provisionals:该软件是一个免费的开源云服务器管理器,具...
    99+
    2023-10-26
    管理器 服务器
  • 云服务器怎么配置管理员
    云服务器通常是由服务器提供商(例如亚马逊)管理和配置的,因此在配置管理员方面没有固定的教程或指南。但是,以下是一些通用的配置管理员指南: 确定所需的角色和职责:确定您需要哪些角色和职责,以及如何在云服务器中分配这些角色和职责。例如,如果...
    99+
    2023-10-26
    管理员 服务器
  • Springboot-yaml配置和自动配置原理分析
    目录版本仲裁中心自动配置原理yaml语法和@PropertySource注解一起使用和@ImportResource一起使用配置文件占位符profile配置文件的加载顺序版本仲裁中心...
    99+
    2024-04-02
  • 怎么配置和管理Hive元数据存储
    Hive元数据存储通常是指Hive的元数据信息存储在哪里,可以通过配置和管理来指定元数据存储的位置和方式。以下是配置和管理Hive元...
    99+
    2024-04-09
    Hive
  • 云服务器怎么配置管理员账号和密码
    云服务器通常需要配置管理员账号和密码,以便可以登录和管理服务器。以下是一些步骤建议,可以帮助您配置管理员账号和密码: 确保您已经在您的云服务器上注册了一个管理员账户。这可以使您可以访问和管理所有数据和服务。 输入您的管理员账号和密码,并...
    99+
    2023-10-27
    账号 管理员 密码
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作