版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MyBatis框架 -MyBatis与Spring整合开发Beta版章节目标理解Spring整合Mybaits思路掌握Spring整合mybatis环境搭建掌握原始dao开发方法整合掌握mapper代理开发方法整合掌握Mapper批量扫描配置掌握Spring整合Mybatis注解配置Spring整合mybatis思路需要spring通过单例方式管理SqlSessionFactoryspring和mybatis整合生成代理对象,使用SqlSessionFactory创建SqlSession。(spring和mybatis整合自动完成)持久层的mapper都需要由spring进行管理。Spring
2、整合mybatis环境准备项目依赖JAR包准备早期ibatis和spring整合是由spring官方提供,现在mybatis和spring整合由mybatis提供。mybatis-spring-1.2.4.jarSpring框架spring-framework-4.2.4.RELEASE-dist.zipDBCP数据库连接池commons-dbcp2-2.1.1-bin.zipcommons-pool2-2.4.2-bin.zip上述框架可在 上进行下载配置数据源和SqlSessionFactory在spring框架配置文件进行配置参考代码:MyBatis04工程下,config/applic
3、ationContext.xml原始dao开发方法整合整合流程:1、创建映射文件2、创建DAO接口原始dao开发方法整合整合流程:3、创建接口实现类,并继承SqlSessionDaoSupport4、在spring中配置dao原始dao开发方法整合整合流程:5、在MyBatis配置文件中添加mapper映射6、测试参考代码:MyBatis04工程下,testTestOrdersDao.java原始dao开发方法整合SqlSessionDaoSupport注入在继承SqlSessionDaoSupport类,还可以注入sqlSessionTemplate,sqlSessionFactory注入,
4、最终还是被包装为sqlSessionTemplate,在继承SqlSessionDaoSupport类,注入sqlSessionFactory或sqlSessionTemplate,原理上时一致的。注意:在继承SqlSessionDaoSupport类,无论你是通过sqlSessionFactory注入还是通过sqlSessionTemplate注入,spring均会对session自动管理,因此您不能通过getSession()获取的session进行提交、回滚、关闭操作。如果没继承SqlSessionDaoSupport类,需要对session自行管理。mapper代理开发方法整合整合流程
5、:1、创建映射文件2、创建Mapper接口mapper代理开发方法整合整合流程:3、在spring配置文件中配置mapper,通过MapperFactoryBean创建代理对象,其作用是根据Mapper接口获取我们想要的Mapper对象,它封装了原有的session.getMapper()功能的实现。4、测试参考代码:MyBatis04工程下,testTestOrdersMapper.javamapper代理开发方法整合Mapper批量扫描:整合中的第3步, mapper需要一个一个的配置在配置文件中,如果有很多个mapper的话配置文件就会非常大,管理繁琐,Mybatis团队利用spring
6、提供的自动扫描功能封装了一个自动扫描mapper的工具类,这样我们就可以使用这个功能简化配置.MapperScannerConfigurer 工具类,可以从mapper包中扫描出mapper接口,自动创建代理对象并且在spring容器中注册遵循规范:将mapper.java和mapper.xml映射文件名称保持一致,且在一个目录中自动扫描出来的mapper的bean的id为mapper类名(首字母小写)如果扫描多个包,每个包中间使用半角逗号分隔mapper代理开发方法整合Mapper批量扫描配置:注 意上面sqlSessionFactory属性也可以不用指定,默认会以Autowired方式注入
7、。但是,如果你使 用了一个 以上的 DataSource ,那 么自动 装配可 能会失效 。这种 情况下 ,你可 以使用 sqlSessionFactoryBeanName属性来设置正确的 bean 名 称来使用。这就是它如何来配置的,注意 bean 的名称是必须的,而不是 bean 的引用,因 此,value 属性在这里替代通常的 refSpring注解编程回顾Spring基于注解实现Bean依赖注入支持如下三种注解:Spring自带依赖注入注解: Spring自带的一套依赖注入注解;JSR-250注解:Java平台的公共注解,是Java EE 5规范之一,在JDK6中默认包含这些注解,从S
8、pring2.5开始支持JSR-330注解:Java 依赖注入标准,Java EE 6规范之一,可能在加入到未来JDK版本,从Spring3开始支持;JPA注解:用于注入持久化上下文和尸体管理器。以上这三种类型的注解在Spring3中都支持,类似于注解事务支持,想要使用这些注解需要在Spring容器中开启注解驱动支持,即使用如下配置方式开启:注解编程回顾Spring自带依赖注入注解:Service用于标注业务层组件 Repository用于标注数据访问组件,即DAO组件 Controller用于标注控制层组件,如Struts中的Action ponent泛指组件,当组件不要好归类时,可以使用这
9、个注解进行标注Spring注解编程回顾1、用注解来向Spring容器注册Bean,需要在applicationContext.xml中注册:。2、 ServiceService对应的是业务层BeanService(userService)注解是告诉Spring,当Spring要创建UserServiceImpl的的实例时,bean的名字必须叫做userService3、 RepositoryRepository对应数据访问层BeanRepository(value=userMapper)注解是告诉Spring,让Spring创建一个名字叫“userMapper”的UserDaoImpl实例。S
10、pring注解编程回顾4、Autowired可以对成员变量、方法和构造函数进行标注,来完成自动装配的工作。默认是按照类型装配注入的,默认情况下它要求依赖对象必须存在,如果允许null值,可以设置它required属性为false。Autowired()private UserMapper userMapper;2QualifierAutowired是根据类型进行自动装配的。如果当Spring上下文中存在不止一个UserDao类型的bean时,就 会抛出BeanCreationException异常;如果Spring上下文中不存在UserDao类型的bean,也会抛出 BeanCreationException异常。我们可以使用Qualifier配合Autowired来解决这些问题。Spring整合Mybatis注解配置1、配置组件自动扫描它可以在classpath下寻找标注了Service、Repository、Controller、 ponent注解的类 并把这些类纳入Spring容器中管理,它的作用和在XML中使用bean节点配置组件是一样的,其
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 会博通 文件档案知识一体化管理的引领者(单用户版)
- 广东省佛山市普通高中高三教学质量检测(一)语文试题(含答案)
- 专题06《最动听的声音》《把奋斗写进明天》《成功的钥匙》《青年之担当》
- 购书买卖合同
- 产品代销合同范本
- 幼儿园重阳节主题活动策划方案五篇
- 包装材料购销合同范本
- 2024年世界旅游产业发展投资合同
- 海参海鲜采购合同
- 西安二手车买卖合同
- 电力沟施工组织设计-电缆沟
- 《法律援助》课件
- 《高处作业安全》课件
- 锅炉本体安装单位工程验收表格
- 一种基于STM32的智能门锁系统的设计-毕业论文
- 妊娠合并强直性脊柱炎的护理查房
- 2024年山东铁投集团招聘笔试参考题库含答案解析
- 儿童10岁生日-百日宴-满月酒生日会成长相册展示(共二篇)
- 《绘本阅读与指导》课程教学大纲
- 员工离职登记表(范本模板)
- 2023人教版(PEP)小学英语(三、四、五、六年级)词汇及常用表达法(课本同步)
评论
0/150
提交评论