实验7---myBatis和Spring整合

news2024/10/4 3:24:20

实验 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的事务管理器处理。

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

截去水印即可使用 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/421954.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

wait()、sleep()、notify()的解析

wait()、sleep()、notify()的解析 【🎈问题1】:wait()、sleep()、notify()有什么作用?【🎈问题2】:wait()、sleep()的区别?【🎈问题3】:为什么 wait() 方法不定义在 Thread 中&…

九龙证券|今年最贵新股来了,本周还有超低价新股可申购

本周(4月17日—4月21日),截至现在,共有3只新股将进行申购,别离为科创板的晶合集成、创业板的三博脑科、北交所的华原股份。其间华原股份将于周一申购,发行价为3.93元/股,晶合集成将于周四申购&a…

全国青少年软件编程(Scratch)等级考试一级考试真题2023年3月——持续更新.....

一、单选题(共25题,共50分) 1. 下列说法不正确的是?( ) A.可以从声音库中随机导入声音 B.可以录制自己的声音上传 C.可以修改声音的大小 D.不能修改声音的速度 试题解析:针对声音可以进行导入,上传&…

Android 不同分辨率下的Drawable尺寸资源设置

启动器图标 36x36 (0.75x) 用于低密度48x48(1.0x 基线)用于中密度72x72 (1.5x) 用于高密度96x96 (2.0x) 用于超高密度144x144 (3.0x) 用于超超高密度192x192 (4.0x) 用于超超超高密度(仅限启动器图标;请参阅上面的 注&#xff09…

redis 主从模式、哨兵模式、cluster模式的区别

参考: ​https://blog.csdn.net/qq_41071876/category_11284995.html https://blog.csdn.net/weixin_45821811/article/details/119421774 https://blog.csdn.net/weixin_43001336/article/details/122816402 Redis有三种模式,分别是:主…

【C++】STL——用一个哈希表封装出unordered_map和unordered_set

用一个哈希表(桶)封装出unordered_map和unordered_set 文章目录用一个哈希表(桶)封装出unordered_map和unordered_set一、哈希表源码二、哈希函数模板参数的控制三、对上层容器构建仿函数便于后续映射四、string类型无法取模问题五、哈希表默认成员函数实现1.构造函数2.拷贝构造…

【JavaEE】ConcurrentHashMap与Hashtable有什么区别?

博主简介:努力的打工人一枚博主主页:xyk:所属专栏: JavaEE初阶Hashtable、ConcurrentHashMap是使用频率较高的数据结构,它们都是以key-value的形式来存储数据,且都实现了Map接口,日常开发中很多人对其二者之间的区别并…

Jmeter实验

Jmeter实验 启动Jmeter 点击bin目录下的,jmeter进行启动 修改界面语言为中文 发起一个最基本的请求 线程组,Http请求,察看结果树 察看结果树的作用范围 设置请求跟随重定向 响应断言-响应文本 判断响应文本中是否有"百度一…

Scala大数据开发

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl Scala简述 在此,简要介绍 Scala 的基本信息和情况。 Scala释义 Scala 源自于英语单词scalable,表示可伸缩的、可扩展的含义。 Scala作者 Scala编…

UDS介绍

首先要有网络网络七层的概念: 学习链接: 七层网络模型-CSDN博客 UDS网络层/TP层(ISO 15765-2)的解读 - 知乎 (zhihu.com) 概念: UDS(Unified Diagnostic Services,统一的诊断服务。 标准名是《…

【栈和队列高频考点题】

目录 1 与栈有关的考题 1.1 最小栈 1.2 栈的弹出压入序列 1.3 逆波兰表达式求值 1.4 二叉树的最近公共祖先 1.5 单调栈 2 与队列有关的考题 2.1 二叉树的分层遍历 2.2 滑动窗口 1 与栈有关的考题 1.1 最小栈 题目描述: 解题思路: 要想在O(1…

微信小程序引入 vant ui组件

1.初始化 在小程序根目录(app.js所在目录),打开cmd命令窗口 npm init -y参数 -y 表示对 npm 要求提供的信息,都自动按下回车键,表示接受默认值。 2.下载miniprogram依赖 通过 npm 安装: npm i vant/weapp -S --p…

京东开源RaftKeeper性能超越ZooKeeper!

一、背景介绍 成百上千台服务器组成的分布式系统中,服务器故障或网络抖动会随时发生,有时会导致严重的系统崩溃,为解决如上问题,雅虎开源了ZooKeeper分布式协调服务并在2010年成为Apache顶级项目,是Hadoop、HBase和Cl…

为什么FTP会随着时间的过去而变慢?

有人问:我在XP上有FZ客户端3.5.3,在Vista上有0.9.41服务器。通过已经很慢的连接传输大文件时,我注意到速度开始时约为40kb / s,但逐渐趋于稳定,约为20kb / s,并保持这种状态。如果我退出客户端并重新启动它…

夜天之书 #81 大厂开源之殇

本轮开源之风吹起迄今数年,最大的影响还是越来越多的商业公司开始探索开源方法能够如何改变自己的经营策略。开源策略循序渐进分成使用、参与和发起。在发起开源项目实践一线的,一个是打着开源旗号的创业公司,另一个就是大型企业尤其互联网企…

JUC并发编程之AQS原理

1. AQS 原理 1.1 概述 全称是 AbstractQueuedSynchronizer,是阻塞式锁和相关的同步器工具的框架 特点: 用 state 属性来表示资源的状态(分独占模式和共享模式),子类需要定义如何维护这个生态,控制如何获…

剪枝与重参第六课:基于VGG的模型剪枝实战

目录基于VGG的模型剪枝实战前言1.Intro2.Prune实战2.1 说明2.2 test()2.3 加载稀疏训练模型2.4 前处理2.5 建立新模型并存储信息2.6 BatchNorm层的剪枝2.7 Conv2d的剪枝2.8 Linear的剪枝3.基于VGG的模型剪枝总结基于VGG的模型剪枝实战 前言 手写AI推出的全新模型剪枝与重参课程…

快排的递归实现

快速排序是一种时间复杂度低,但会虽随着数组的顺序变化,因为其效率之高被称为快速排序,而 且其不稳定性也可以同过优化进行解决。 快速排序的实现有三种方法: 1.hoare版 其基本思想为:任取待排序元素序列中 的某元…

3、如何使用GDB来进行命令行debug

文章目录一、与前面的联系二、GDB的一些认识1、什么是gdb2、gdb作用3、gdb可实现的功能三、GDB常用的调试命令一、与前面的联系 对于前面说到的launch.json文件就是用于debug的配置文件,在前面的vscode中我们可以发现配置好launch.json文件之后进行调试&#xff0c…

攻防世界-web2(逆向加密算法)

打开链接是PHP源码 给了一串密文,并对这串密文进行了一系列操作加密,注释里说解密$miwen就是flag 在此我们先介绍一些PHP内置函数: strrev(string): 反转字符串 strlen(string): 返回字符串的长度 substr(string, start, length): 返回字符…