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

实验7---myBatis和Spring整合

实验 myBatis和Spring整合

一、实验目的及任务

通过该实验,掌握mybatis和spring整合方法,掌握生成mapper实现类的两种生成方式。

二、实验环境及条件

主机操作系统为Win10,Tomcat,j2sdk1.6或以上版本。

三、实验实施步骤

四、实验报告内容

1 程序在控制台的输出结果是什么?给出第7步和第9步的运行结果截图。

第7步:

 

第9步:

2 MapperFactoryBean和MapperScannerConfigurer类的作用是什么?

MapperFactoryBean 和 MapperScannerConfigurer 类都是 MyBatis-Spring 框架中的类,它们的作用分别如下:

  1. MapperFactoryBean:
    MapperFactoryBean 是 MyBatis-Spring 团队提供的一个用于根据 Mapper 接口生成 Mapper 对象的类,通过 MapperFactoryBean 可以配置接口文件以及注入 SqlSessionFactory,从而完成一个 Bean 的实例化。
  2. MapperScannerConfigurer:
    MapperScannerConfigurer 是 MyBatis-Spring 团队提供的一种用于以自动扫描形式来配置 MyBatis 中映射器的类,可以通过配置包路径来自动扫描包接口生成映射器,这使得开发人员可以在编写很少代码的情况下,完成对映射器的配置,从而提高开发效率。

3 你遇到了哪些问题,如何解决的?

MyBatis和Spring整合过程中可能会遇到以下问题:

  1. MyBatis的XML映射文件和Spring的配置文件之间的映射关系不一致,导致Spring无法正确加载MyBatis的映射文件。
  2. MyBatis的XML映射文件和Spring的配置文件之间的映射关系不一致,导致MyBatis的查询语句无法正确地被Spring的注解处理。
  3. MyBatis的XML映射文件和Spring的配置文件之间的映射关系不一致,导致MyBatis的插件无法正确地被Spring的插件处理。
  4. MyBatis的XML映射文件和Spring的配置文件之间的映射关系不一致,导致MyBatis的事务管理无法正确地被Spring的事务管理器处理。

解决这些问题的方法可以包括:

  1. 在Spring的配置文件中,使用@ConfigurationProperties注解来标记MyBatis的XML映射文件和Spring的配置文件之间的映射关系,以便Spring正确地加载MyBatis的映射文件。
  2. 在MyBatis的XML映射文件中,使用@Mapper注解来标记MyBatis的查询语句,以便Spring正确地处理MyBatis的查询语句。
  3. 在MyBatis的XML映射文件中,使用@ConfigurationProperties注解来标记MyBatis的插件,以便Spring正确地处理MyBatis的插件。
  4. 在Spring的配置文件中,使用@ConfigurationProperties注解来标记MyBatis的XML映射文件和Spring的配置文件之间的映射关系,以便Spring正确地处理MyBatis的事务管理。

总之,MyBatis和Spring的整合需要仔细地配置和处理映射关系,以确保MyBatis的查询语句和插件能够正确地被Spring的注解处理,并且MyBatis的事务管理能够正确地被Spring的事务管理器处理。

下面是比较清晰的图,拿来即用

截去水印即可使用 

 

相关文章:

实验7---myBatis和Spring整合

实验七 myBatis和Spring整合 一、实验目的及任务 通过该实验,掌握mybatis和spring整合方法,掌握生成mapper实现类的两种生成方式。 二、实验环境及条件 主机操作系统为Win10,Tomcat,j2sdk1.6或以上版本。 三、实验实施步骤 略 四、实验报告内…...

DJ3-4 传输层(第四节课)

目录 一、TCP 概述 二、TCP 报文段的首部字段格式 三、TCP 往返时延的估计和超时 1. 估计往返时间 2. RTT 估计例子 3. 估计往返时间的偏差 4. 设置重传超时间隔 一、TCP 概述 全双工服务:允许在同一时间同一连接上,数据能够双向传输。注意&#…...

2023爱分析·商业智能应用解决方案市场厂商评估报告:数聚股份

目录 1. 研究范围定义 2. 商业智能应用解决方案市场分析 3. 厂商评估:数聚股份 4. 入选证书 1. 研究范围定义 商业智能(BI)是在实现数据集成和统一管理的基础上,利用数据存储和处理、分析与展示等技术,满足企…...

Kotlin方法执行顺序

方法的执行顺序 主构造函数init代码块次构造函数...

Ubuntu系统配置SonarQube + cppcheck + Jenkins

SonarQube1. postgresql安装及配置1.1 安装postgresql1.2 创建sonarqube用户1.3 设置数据库2. 安装sonarqube2.1 设置sonarqube2.2 修改sonarqube目录权限2.3 sonar.properties2.4 设置systemd管理sonarqube2.5 web3. 配置sonarscanner3.1 下载3.2 配置4. 配置cppcheck4.1 下载…...

Spring @Valid 不生效 问题记录

校验的简单使用: 在Spring中,我们可以使用Valid注解对实体进行校验。在Controller的方法参数中添加Valid注解,然后在实体类的属性上添加校验注解,例如NotNull、Size等。例如: RestController public class UserContr…...

五步教你如何注册一个公司网站

在今天的数字化时代,每个公司都需要一个强大的线上存在感。注册一个公司网站是实现这一目标的第一步。但是,对于许多公司而言,这个过程可能有些困难。因此,在本文中,我将介绍一个五步计划,让您轻松注册一个…...

CSS绘制气泡对话框样式(有边框)

1、效果图 2、难点和思路 难点:上面那个带边框的小三角不好实现 思路:画两个不同大小的div,使其基本重叠(两个大小不同,不完全重叠,让红色的露出一点边边),让白色div放到最上层&…...

12款 Macmini A1347 跑 Stable Diffusion,20多分钟一张图

设备 2012款 Macmini A1347 12款 mini A1347 跑 Stable Diffusion 要20多分钟一张图 来欣赏一下20分钟画出来的图片 a black and white cat 环境:...

流量控制和拥塞控制的原理和区别

文章目录先介绍下重传机制和滑动窗口超时重传快速重传SACK方法Duplicate SACK滑动窗口发送方缓存窗口接收方缓存窗口流量控制小结拥塞控制慢开始算法拥塞避免算法快重传快恢复先介绍下重传机制和滑动窗口 超时重传 重传机制的其中一个方式,就是发送数据时&#xf…...

金融机构断卡行动中外部数据

“断卡行动”,近几年逐渐走入大众视野,是国家在从根源上整治网络及金融犯罪层面的重大举措。相信很多朋友在日常生活中已经有所体会了,比如我们在办理电话卡及银行卡的时候要经过很多审核机制,同时发卡后还会限制卡片的一些转账等…...

携程总监的单元测试是怎么样写的?

大家都知道,开发软件的时候为代码编写单元测试是很好的。但实际上,光有测试还不够,还要编写好的测试,这同样重要。 要做到这一点,考虑遵循一些固执的原则,对测试代码给予一些关爱: 1. 保持测试…...

算法每日一题:P2089 烤鸡 -DFS练习

😚一个不甘平凡的普通人,日更算法学习和打卡,期待您的关注和认可,陪您一起学习打卡!!!😘😘😘 🤗专栏:每日算法学习 💬个人…...

Spring中的循环依赖是什么?如何解决它?

循环依赖是指两个或多个Bean之间相互依赖,导致它们无法被正确地初始化。在Spring中,当两个或多个Bean之间存在循环依赖时,Spring容器无法决定哪个Bean应该先初始化,因此会抛出BeanCurrentlyInCreationException异常,从…...

不良事件报告系统源码,PHP医院安全(不良)事件报告系统源码,在大型医院稳定运行多年

PHP医院安全(不良)事件报告系统源码,不良事件系统源码,有演示,在大型医院稳定运行多年。 系统技术说明 技术架构:前后端分离,仓储模式 开发语言:PHP 开发工具:VSco…...

MySQL 查询常用操作(3)——排序 order by

MySQL中常用的查询操作,首先是能直接从表中直接取出数据,接着能对查询结果做一些简单的处理,比如去重等,然后是根据条件查询数据,包括精准查询、模糊查询以及按照数据的某个范围或者指定多个指标进行查询,值…...

Android Jetpack 从使用到源码深耕【数据库注解Room 从实践到原理 】(二)

上文,我们通过一个简单的sqlite应用实例,引入了Room,知道了Room使用的便捷和好处。然后用Room的方式,重新实现了应用实例中的场景,在这个过程中,我们结合自己已有的知识体系,从使用代码入手,对Room的实现原理,进行了猜想和简单的验证。 Room实现原理,是否真如我们猜想…...

传统企业如何实现数字化转型?

近年来,围绕新产品新模式新业态,国家重点部署了7个方向,包括数字化管理、平台化设计、智能化生产、网络化协同、个性化定制、服务化延伸、新型智能产品等,均为市场价值大、发展潜力深、示范效应强的代表性、引领性领域。 因此&am…...

Linux修改密码报错Authentication token manipulation error的终极解决方法

文章目录报错说明解决思路流程排查特殊权限有没有上锁查看根目录和关闭selinux/etc/pam.d/passwd文件/etc/pam.d/system-auth文件终极办法,手动定义密码passwd: Have exhausted maximum number of retries for servic、ssh用普通用户登录输入密码正确但是登录时却提…...

ROS实践06 自定义消息类型

文章目录运行环境:思路:1.1 定义.msg文件1)功能包下新建 msg 目录,添加文件 Person.msg2)修改package.xml3)修改CMakeLists.txt2.1 自定义消息调用(C)1)编译后修改includePath2)发布方实现2.1修改CMakeLists.txt2.3运行…...

用Python可视化理解柯西-施瓦茨不等式:从向量内积到函数空间的几何直觉

用Python可视化理解柯西-施瓦茨不等式:从向量内积到函数空间的几何直觉 数学中的不等式往往蕴含着深刻的几何意义,柯西-施瓦茨不等式就是这样一个连接代数与几何的桥梁。对于数据科学和机器学习的学习者来说,理解这个不等式不仅能夯实数学基础…...

利用AI改写工具,五个策略帮助论文查重率快速降至合规标准

嘿,大家好!我是AI菌。今天咱们来聊聊一个让无数学生头疼的问题:论文重复率飙到30%以上怎么办?别慌,我这就分享5个实用降重技巧,帮你一次搞定,轻松压到合格线以下。这些方法都是我亲身试验过的&a…...

贝叶斯分位数回归:超越均值的数据分析方法

贝叶斯分位数回归:超越均值的数据分析方法 【免费下载链接】pymc Python 中的贝叶斯建模和概率编程。 项目地址: https://gitcode.com/GitHub_Trending/py/pymc 问题-方案-验证-应用四象限框架 问题:均值回归的业务痛点 在数据分析实践中&#…...

泛微E9 OA流程表单右上角加按钮?用Ecode 5分钟搞定(附完整代码)

泛微E9流程表单5分钟极速加装功能按钮实战指南 每次接到"明天就要上线"的需求时,IT部门的咖啡机总是格外忙碌。上周三下午4点,我正收拾背包准备下班,业务部门的小王火急火燎地冲进办公室:"老师!采购流程…...

OpenClaw+Qwen3.5-9B实战:5步完成本地AI助手部署与飞书接入

OpenClawQwen3.5-9B实战:5步完成本地AI助手部署与飞书接入 1. 为什么选择OpenClawQwen3.5-9B组合? 去年冬天,当我第5次因为忘记整理会议录音而被领导提醒时,终于决定给自己找个"数字助理"。在尝试了多个自动化工具后&…...

【SoC】【ESP32】从零到一:VSCode+ESP-IDF环境下的高效开发工作流构建

1. 为什么选择VSCodeESP-IDF开发ESP32? 第一次接触ESP32开发时,我尝试过各种开发环境:Arduino IDE、PlatformIO、Eclipse...直到遇到VSCodeESP-IDF的组合,才发现这才是嵌入式开发的"完全体"。ESP-IDF作为乐鑫官方的开发…...

企业级前端基建:如何将离线npm包(tgz)安全迁移到Nexus 3私库?

企业级前端基建:如何将离线npm包(tgz)安全迁移到Nexus 3私库? 当企业面临安全合规审计或网络隔离需求时,如何将分散在各处的npm离线包(tgz格式)安全、高效地迁移至Nexus私有仓库,成为…...

终极go2rtc流媒体解决方案:3分钟搭建多协议摄像头管理系统

终极go2rtc流媒体解决方案:3分钟搭建多协议摄像头管理系统 【免费下载链接】go2rtc Ultimate camera streaming application with support RTSP, RTMP, HTTP-FLV, WebRTC, MSE, HLS, MP4, MJPEG, HomeKit, FFmpeg, etc. 项目地址: https://gitcode.com/GitHub_Tre…...

智能日程管理系统:OpenClaw+Qwen3-32B自动安排会议时间

智能日程管理系统:OpenClawQwen3-32B自动安排会议时间 1. 为什么需要自动化日程管理 每天早晨打开邮箱,总能看到十几封会议邀请混杂在各类邮件中。手动核对时间、检查日历冲突、协调参会人可用性——这些重复性工作消耗了我至少30%的工作时间。直到上个…...

LeetCode知识点总结 - 524

LeetCode 524. Longest Word in Dictionary through Deleting考点难度ArrayMedium题目 Given a string s and a string array dictionary, return the longest string in the dictionary that can be formed by deleting some of the given string characters. If there is mor…...