spring和mybatis的整合开发(基于MapperScannerConfigurer的整合开发(适用于复杂项目,接口较多的情况))...

在实际项目中,Dao层会包含很多接口,这样会导致spring配置文件过于臃肿。这时就需要采用扫描包的形式来配置mybaits中的映射器。

采用MapperScannerConfigurer来实现。

MapperScannerConfigurer类在spring配置文件中可以配置以下几个属性:

1.basePackage:用于指定映射接口文件的包路径,当需要扫描多个包时使用逗号或分号隔开。

2.annotationClass:指定了要扫描的注解名称,只有被注解标示的类才会被配置为映射器。

3.markerInterface:指定创建映射器的接口。

4.sqlSessionFactoryBeanName:指定在spring中定义的sqlSessionFactory的bean名称。

5.sqlSessionTemplateBeanName:指定在spring中定义的sqlSessionTemplate的bean名称。如果定义此属性,那么sqlSessionFactoryBeanName将不起作用。

例如:

CustomerMapper 接口,用@Repository表示此接口是一个dao层。
@Repository//标示是一个dao层
public interface CustomerMapper {
public Customer findCustomerById(Integer id);
}

mapper映射文件
<mapper namespace="com.itheima.po.mapper.CustomerMapper">
<select id="findCustomerById" parameterType="Integer" resultType="customer">
select * from t_customer where id=#{id}
</select>
</mapper>
在spring的配置文件中配置
<!--基于MapperScannerConfigurer的开发-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.itheima.po.mapper"/>//用于扫描映射文件包,可以将映射文件放入不同的包中。
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>//value值是配置=mybatis工厂时的id值sqlSessionFactory
<property name="annotationClass" value="org.springframework.stereotype.Repository"/>//根据注解进行扫描,成mapper对象。
</bean>
最后测试,成功。
 

 

转载于:https://www.cnblogs.com/jasonboren/p/10598083.html

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

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

相关文章

页面加载前执行函数

window.onpageshow function(){ var token gg.core.cookie.getValue("token"); console.log(token); if(token ""||token null){ window.location login.html; return; }};转载于:https://www.cnblogs.com/tuhazi/p/987825…

表格对角线两边打字_表格斜线一分为二怎么打字(excel斜杠分割表格打字)

在整理表格的时候&#xff0c;相信许多朋友都会涉及到表格斜线的制作。比如单斜线和双斜线来区分不同维度项目。下面我们就来学习一下&#xff0c;如何通过Excel快速来添加我们的表格斜线。案例一&#xff1a;两步快速制作单表格单斜线第一步&#xff1a;首先在单元格中依次输入…

FROONT – 超棒的可视化响应式网页设计工具

FROONT 是一个基于 Web 的设计工具&#xff0c;在浏览器中运行&#xff0c;使得各类可视化设计的人员都能进行响应式的网页设计&#xff0c;即使是那些没有任何编码技能的设计师。FROONT 使得响应式网页设计能够可视化操作&#xff0c;能够在浏览器中使用直观的拖放工具进行设计…

avalon.js 转义html,avalon模块的内建适配器

text bindings&#xff0c;第一个传参将强制转换为字符串&#xff0c;假值为""&#xff0c;然后变成目标节点的innerText!今天的天气为&#xff1a; $.require("ready,more/avalon", function(){var viewModel {myMessage: $.observable()};$.applyBindin…

参数化的JUnit测试

有时&#xff0c;您会遇到一个问题&#xff0c;就是尖叫使用“参数化”测试&#xff0c;而不是多次复制/粘贴相同的方法。 测试方法基本上是相同的&#xff0c;唯一改变的是传入的数据。在这种情况下&#xff0c;请考虑创建一个利用JUnit中的“ Parameterized ”类的测试用例。…

OO-第一单元总结

经过了前三次作业和两次实验的引导&#xff0c;我的编程思路在逐步从面向过程转向面向对象。也对面向对象有了初步的理解。虽然第一次实验由于自己没有及时完成导致没有提交过有些遗憾&#xff0c;但是第二次实验还是提交了几次的&#xff08;虽然由于时间原因并没有做好本地测…

kafka数据 落盘_Kafka数据可靠性保证三板斧-ACK/ISR/HW

点击上方蓝色字体&#xff0c;选择“设为星标”回复”资源“获取更多资源点击右侧关注&#xff0c;大数据开发领域最强公众号&#xff01;点击右侧关注&#xff0c;暴走大数据&#xff01;为保证producer发送的数据&#xff0c;能可靠的发送到指定的topic&#xff0c;topic的每…

2013年五大主流浏览器 HTML5 和 CSS3 兼容性大比拼

转眼又已过去了一年&#xff0c;在这一年里&#xff0c;Firefox 和 Chrome 在拼升级&#xff0c;版本号不断飙升&#xff1b;IE10 随着 Windows 8 在去年10月底正式发布&#xff0c;在 JavaScript 性能和对 HTML5 和 CSS3 的支持方面让人眼前一亮。这篇文章给大家带来《五大主流…

一句话引发的思考 - synchronized/super

https://blog.csdn.net/cool__wang/article/details/52459380#commentBox 转载于:https://www.cnblogs.com/rainydayfmb/p/9883864.html

计算机科学方向的会议或期刊,计算机顶会和顶刊_计算机顶会_顶会

《计算机应用研究》正刊和增刊什么区别&#xff0c;是不是增刊不是正规的核心期刊&#xff0c;求...展开全部《计算机应用研究》是核心期刊&#xff0c;其增刊一年只出版一或两期&#xff0c;和月刊一样具有相同复的正式出版刊号。正刊和增刊的区别如下&#xff1a;1、目的用途…

PAT L3-007 天梯地图

https://pintia.cn/problem-sets/994805046380707840/problems/994805051153825792 本题要求你实现一个天梯赛专属在线地图&#xff0c;队员输入自己学校所在地和赛场地点后&#xff0c;该地图应该推荐两条路线&#xff1a;一条是最快到达路线&#xff1b;一条是最短距离的路线…

JavaFX中的塔防(4)

好的&#xff0c;到目前为止&#xff0c;我们已经创建了一个TileMap&#xff0c;将其显示在屏幕上&#xff0c;并使其在第一部分中可编辑。 在第二部分中&#xff0c;我们使用A *算法实现了攻击路径的计算&#xff0c;并使敌人跟随该路径。 在第三部分中&#xff0c;我们创建了…

Two.js – 为现代浏览器而生的 2D 绘图 API

Two.js 是面向现代 Web 浏览器的一个二维绘图 API。Two.js 可以用于多个场合&#xff1a;SVG&#xff0c;Canvas 和 WebGL&#xff0c;旨在使平面形状和动画的创建更方便&#xff0c;更简洁。 Two.js 有一个内置的动画循环&#xff0c;可搭配其他动画库。Two.js 包含可伸缩矢量…

apache arm 交叉编译_MacOS 下交叉编译的折腾笔记

这是这个系列 “折腾笔记” 的第一篇&#xff0c;希望能用更直白的方式去展现交叉编译的时候做了些什么。因此&#xff0c;这个教程并不是最佳实践&#xff0c;但是可以让小伙伴们有一个更直白的理解。之后&#xff0c;我会把笔记的重点放在 bazel 上交叉编译的最佳实践&#x…

python - 使用traceback获取详细的异常信息

try: 1/0except Exception,e: print e 输出结果是integer division or modulo by zero&#xff0c;只知道是报了这个错&#xff0c;但是却不知道在哪个文件哪个函数哪一行报的错。下面使用traceback模块 import tracebacktry: 1/0except Exception,e: traceback.print_exc() 输…

计算机科学研究生规划,2019计算机考研备考:计算机科学与技术研究方向及复习规划...

考研之路永远都不是轻松着度过的&#xff0c;想要在这条道路上稳稳妥妥的走完&#xff0c;并到达设立在远处的目标&#xff0c;了解目标专业的各项考研备考信息是第一步。新东方在线为大家整理了2019计算机考研备考&#xff1a;计算机科学与技术研究方向及复习规划&#xff0c;…

快速的远程服务测试

测试与远程服务交互的代码通常很困难。 有很多折衷因素会影响您可以编写哪些测试以及要编写的测试数量。 在大多数情况下&#xff0c;您对从服务中获取的数据的控制为零&#xff0c;这使得断言至少很难说。 不久前&#xff0c;我使用VCR库针对远程服务编写了一些Ruby测试。 VC…

树-二叉树、满二叉树和完全二叉树

树-二叉树、满二叉树和完全二叉树 二叉树的定义&#xff1a; &#xff08;1&#xff09;当n0时&#xff0c;为空树&#xff1b; &#xff08;2&#xff09;当n>0时&#xff0c;是由一个根结点和称为根结点的左、右子树构成&#xff0c;并且两颗子树互不相交。 满二叉树&…

Codrops 优秀教程:基于 CSS3 的全屏网页过渡特效

向大家分享一个来自 Codrops 的基于 CSS3 实现的全屏网页过渡特效。页面初始布局是四个盒子&#xff0c;点击其中一个会扩张到全屏&#xff0c;其它的会淡出隐藏&#xff1b;关闭当前视图的时候又恢复到初始状态。 您可能感兴趣的相关文章-prefix-free&#xff1a;帮你从 CSS 前…

上海职称英语计算机取消,小编简析2017年职称英语考试是否取消

近日出台的《关于深化人才发展体制机制改革的意见》(以下简称《意见》)直接提出了我国将改革职称制度和职业资格制度&#xff0c;对职称外语和计算机应用能力考试不作统一要求&#xff1b;探索高层次人才等职称直聘办法。《意见》出台的是2016年职称英语考试前几天&#xff0c;…