Spring08

Spring-Mybatis

MyBatis优势:
1、使用映射元文件的标签替换jdbc实现代码,简化开发
2、无需手动处理结果集自动将结果集数据封装成对象返回
3、可以利用查询缓存,提供查询效率

Spring MyBatis整合
Spring整合Mybatis其实就是将mybatis的加载过程全权交给Spring托管,不再需要加载配置工具等一些操作,而
具体的dao层操作依旧是使用mybatis去操作数据库

MyBatis-Spring
MyBatis-Spring将MyBatis代码无缝地整合到Spring中,将允许MyBatis参与到Spring的事务管理之中,创建映射器
mapper和SqlSession并注入到bean中,以及将Mybatis的异常转换为Spring的DataAccessException。最终可以做
到应用代码不依赖于MyBatis、Spring或MyBatis-Spring。

三种整合方法:
1、采用接口org.apache.ibatis.session.SqlSession的实现类org.mybatis.spring.SqlSessionTemplate
2、采用抽象类org.mybatis.spring.support.SqlSessionDaoSupport提供SqlSession。
3、采用MapperScannerConfigurer将会查找类路径下的映射器并自动将它们创建成MapperFactoryBean

具体实现方式1:主要解决的问题就是将SqlSessionFactory对象交由Spring来管理。所以该整合只需要将SqlSessionFactory的对象生成器SqlSessionFactoryBean注册在Spring容器中,再将其注入实现类即可完成整合。
1、将mybatis-config.xml环境的配置:数据源、驱动、url、username、password这些基础配置移交给Spring
的核心配置文件applicationContext.xml文件中,创建bean对象dataSource顶替Resource。
2、通过dataSource对象,创建bean对象SqlSessionFactory,这时候SqlSessionFactory工厂就交给Spring托
管!建议按照mybatis的习俗配置成单例
3、将SqlSession对象的通过SqlSessionTemplate模板模式加载交给Spring托管

具体实现方式2: 动态代理 + 注解实现
在applicationContext.xml配置文件中配置的mapper批量扫描器类MapperScannerConfigurer,会从dao包中扫描
出Mapper接口,自动创建代理对象并且在Spring容器中注入

单选题
1、进行MyBatis与Spring的整合配置文件编写时,不包括有()。
A、db.properties B、applicationContext.xml
C、mybatis-config.xml D、springmvc-config.xml
参考答案 😄

2、MapperFactoryBean是MyBatis-Spring团队提供的用于根据Mapper接口生成Mapper对象的类,该类在Spring配置文件中可以配置的参数不包括()。
A、mapperInterface B、SqlSessionFactory
C、SqlSessionTemplate D、basePackage
参考答案 😄

3、以下有关采用传统DAO开发方式进行MyBatis与Spring框架的整合的说法错误的是()
A、采用传统DAO开发方式进行MyBatis与Spring框架的整合时,只需要编写DAO接口
B、采用传统DAO开发方式进行MyBatis与Spring框架的整合时,需要向DAO实现类中注入SqlSessionFactory,然后在方法体内通过SqlSessionFactory创建SqlSession
C、可以使用mybatis-spring包中所提供的SqlSessionTemplate类或SqlSessionDaoSupport类来实现在类中注入
SqlSessionFactory
D、SqlSessionDaoSupport是一个抽象支持类,它继承了DaoSupport类,主要是作为DAO的基类来使用。可以通过SqlSessionDaoSupport类的getSqlSession()方法来获取所需的SqlSession
参考答案 :A

多选题
4、进行MyBatis与Spring整合时,Spring的配置文件主要配置内容包括有()。
A、MyBatis工厂配置 B、数据源配置
C、事务管理器配置 D、读取MyBatis核心配置文件的配置
参考答案 :A,B,C,D

5、MapperFactoryBean是MyBatis-Spring团队提供的一个用于根据Mapper接口生成Mapper对象的类,该类在Spring配置文件中可配置的参数说明错误的是()。
A、mapperInterface用于指定接口 B、SqlSessionFactory用于指定SqlSessionFactory
C、SqlSessionTemplate:用于指定SqlSessionTemplate。如果与SqlSessionFactory同时设定,则只会启用
SqlSessionTemplate。
D、以上都正确
参考答案 :A,B,C,D

6、要实现MyBatis与Spring的整合,所需要的JAR包包括有以下()。
A、Spring框架的相关JAR包 B、MyBatis框架相关JAR包
C、Spring与MyBatis整合JAR包 D、数据库驱动包
参考答案 :A,B,C,D

7、以下有关采用传统DAO开发方式进行MyBatis与Spring框架的整合的说法正确的是()。
A、采用传统DAO开发方式进行MyBatis与Spring框架的整合时,需要编写DAO接口以及接口的实现类
B、采用传统DAO开发方式进行MyBatis与Spring框架的整合时,需要向DAO实现类中注入SqlSessionFactory,然后在方法体内通过SqlSessionFactory创建SqlSession
C、可以使用mybatis-spring包中所提供的SqlSessionTemplate类或SqlSessionDaoSupport类来实现在类中注入
SqlSessionFactory
D、SqlSessionDaoSupport是一个抽象支持类,它继承了DaoSupport类,主要是作为DAO的基类来使用。可以通过SqlSessionDaoSupport类的getSqlSession()方法来获取所需的SqlSession
参考答案 :A,B,C,D

8、单独进行MyBatis与Spring整合时,主要需要编写的配置文件有()。
A、Spring配置文件applicationContext.xml B、MyBaits配置文件mybatis-config.xml
C、日志文件log4j.properties D、前端Web加载配置文件web.xml
参考答案 :A,B,C

判断题
9、MapperFactoryBean是MyBatis-Spring团队提供的一个用于根据Mapper接口生成Mapper对象的类()
参考答案 :对

10、SqlSessionTemplate是mybatis-spring的核心类,它负责管理MyBatis的SqlSession,调用MyBatis的SQL方法。当调用SQL方法时,SqlSessionTemplate将会保证使用的SqlSession和当前Spring的事务是相关的。()
参考答案 :对

11、使用Mapper接口动态代理开发方式时,如果完全遵循了编写规范,那么在MyBatis的核心配置文件中可以不引入映射文件()
参考答案 :对

12、在实际的项目开发中,Spring与MyBatis都是整合在一起使用的()。
参考答案 :对

13、MyBaits与Spring进行整合时,Dao层开发可以使用传统的DAO方式的开发整合,以及Mapper接口方式的开发整合()。
参考答案 :对

14、可以使用mybatis-spring包中所提供的SqlSessionTemplate类或SqlSessionDaoSupport类来实现向DAO实现类中注入SqlSessionFactory()。
参考答案 :对

15、要实现MyBatis与Spring的整合,只需要将这两个框架的JAR包进行整合即可。()
参考答案 :错

16、在实现MyBatis与Spring的整合时,需要编写的配置文件一般有db.properties文件、Spring的配置文件,以及MyBatis的配置文件。()
参考答案 :对

17、在实现MyBatis与Spring的整合时,涉及到数据库访问,还要根据具体的数据库类型选择对应的数据库驱动JAR包。()
参考答案 :对

18、SqlSessionDaoSupport是一个抽象支持类,它继承了DaoSupport类,主要是作为DAO的基类来使用。
参考答案 :对

19、采用传统DAO开发方式进行MyBatis与Spring框架的整合时,需要编写DAO接口以及接口的实现类,并且需要向DAO实现类中注入SqlSessionFactory,然后在方法体内通过SqlSessionFactory创建SqlSession。()
参考答案 :对

20、db.properties配置文件主要用于配置数据源的常量信息配置。()
参考答案 :对

21、MapperFactoryBean的参数SqlSessionTemplate用于指定SqlSessionTemplate。如果与SqlSessionFactory同时设定,则只会启用SqlSessionFactory()。
参考答案 :错

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值