Spring整合Mybatis
2015-11-02 09:12
381 查看
首先,我们需要从Mybatis官网上下载Mybatis-Spring的jar包添加到我们项目的类路径下,当然也需要添加Mybatis的相关jar包和Spring的相关jar包。我们知道在Mybatis的所有操作都是基于一个SqlSession的,而SqlSession是由SqlSessionFactory来产生的,SqlSessionFactory又是由SqlSessionFactoryBuilder来生成的。但是Mybatis-Spring是基于SqlSessionFactoryBean的。在使用Mybatis-Spring的时候,我们也需要SqlSession,而且这个SqlSession是内嵌在程序中的,一般不需要我们直接访问。SqlSession也是由SqlSessionFactory来产生的,但是Mybatis-Spring给我们封装了一个SqlSessionFactoryBean,在这个bean里面还是通过SqlSessionFactoryBuilder来建立对应的SqlSessionFactory,进而获取到对应的SqlSession。通过SqlSessionFactoryBean我们可以通过对其指定一些属性来提供Mybatis的一些配置信息。所以接下来我们需要在Spring的applicationContext配置文件中定义一个SqlSessionFactoryBean。
接下来就是在Spring的applicationContext文件中定义我们想要的Mapper对象对应的MapperFactoryBean了。通过MapperFactoryBean可以获取到我们想要的Mapper对象。MapperFactoryBean实现了Spring的FactoryBean接口,所以MapperFactoryBean是通过FactoryBean接口中定义的getObject方法来获取对应的Mapper对象的。在定义一个MapperFactoryBean的时候有两个属性需要我们注入,一个是Mybatis-Spring用来生成实现了SqlSession接口的SqlSessionTemplate对象的sqlSessionFactory;另一个就是我们所要返回的对应的Mapper接口了。
定义好相应Mapper接口对应的MapperFactoryBean之后,我们就可以把我们对应的Mapper接口注入到由Spring管理的bean对象中了,比如Servicebean对象。这样当我们需要使用到相应的Mapper接口时,MapperFactoryBean会从它的getObject方法中获取对应的Mapper接口,而getObject内部还是通过我们注入的属性调用SqlSession接口的getMapper(Mapper接口)方法来返回对应的Mapper接口的。这样就通过把SqlSessionFactory和相应的Mapper接口交给Spring管理实现了Mybatis跟Spring的整合。
Spring整合MyBatis
1. 创建工程,搭建SpringMVC和MyBatis技术环境。
2. 基于MapperScannerConfigurer方式整合MyBatis的Mapper接口。
3. 编写和配置SpringMVC的主要组件,例如Controller,HandlerMapping,ViewResolver等。
4. 编写JSP视图组件,利用标签和表达式显示模型数据。
5. 测试程序。
接下来就是在Spring的applicationContext文件中定义我们想要的Mapper对象对应的MapperFactoryBean了。通过MapperFactoryBean可以获取到我们想要的Mapper对象。MapperFactoryBean实现了Spring的FactoryBean接口,所以MapperFactoryBean是通过FactoryBean接口中定义的getObject方法来获取对应的Mapper对象的。在定义一个MapperFactoryBean的时候有两个属性需要我们注入,一个是Mybatis-Spring用来生成实现了SqlSession接口的SqlSessionTemplate对象的sqlSessionFactory;另一个就是我们所要返回的对应的Mapper接口了。
定义好相应Mapper接口对应的MapperFactoryBean之后,我们就可以把我们对应的Mapper接口注入到由Spring管理的bean对象中了,比如Servicebean对象。这样当我们需要使用到相应的Mapper接口时,MapperFactoryBean会从它的getObject方法中获取对应的Mapper接口,而getObject内部还是通过我们注入的属性调用SqlSession接口的getMapper(Mapper接口)方法来返回对应的Mapper接口的。这样就通过把SqlSessionFactory和相应的Mapper接口交给Spring管理实现了Mybatis跟Spring的整合。
Spring整合MyBatis
1. 创建工程,搭建SpringMVC和MyBatis技术环境。
2. 基于MapperScannerConfigurer方式整合MyBatis的Mapper接口。
3. 编写和配置SpringMVC的主要组件,例如Controller,HandlerMapping,ViewResolver等。
4. 编写JSP视图组件,利用标签和表达式显示模型数据。
5. 测试程序。
相关文章推荐
- JAVA学习5_Java NIO 报java.nio.charset.MalformedInputException: Input length = 1异常
- 利用idea环境进行Spring框架的使用和体验
- 举例详解Java编程中HashMap的初始化以及遍历的方法
- Java 多态
- Java编码问题
- Java关键字final
- 从校园到工作的路(五)————java中的类型转换
- Java的内部类
- Spring rest 启动报错的一种可能性
- 去除 MyEclipse updating index
- Java面向对象编程-第3章学习笔记
- Java面向对象编程-第2章学习笔记
- [javascirpt] Regex
- springMVC笔记(二)
- Java面向对象编程-第1章学习笔记
- java 实例变量初始化
- java中Proxy类初探
- 菜鸟猿大战Java之异常处理初接触
- Java的泛型是类型擦除的
- SpringDI_constructor注入