spring和mybatis整合

整合思路

需要spring通过单例方式管理SqlSessionFactory。

spring和mybatis整合生成代理对象,使用SqlSessionFactory创建SqlSession。(spring和mybatis整合自动完成)

持久层的mapper都需要由spring进行管理。

整合环境

创建一个新的java工程(接近实际开发的工程结构)

jar包:

  • mybatis3.2.7的jar包
  • spring3.2.0的jar包
  • mybatis和spring的整合包:早期ibatis和spring整合是由spring官方提供,mybatis和spring整合由mybatis提供。

 

sqlSessionFactory

在applicationContext.xml配置sqlSessionFactory和数据源

sqlSessionFactory在mybatis和spring的整合包下。


	

	
	
		
		
		
		
		
		
	


	
	
		
		
		
		
	

 

原始dao开发(和spring整合后)

             1.User.xml

spring和mybatis整合_第1张图片

在SqlMapconfig.xml中加载User.xml

              2.dao(实现类继承SqlSessionDaoSupport)

spring和mybatis整合_第2张图片

dao接口实现类需要注入SqlSessoinFactory,通过spring进行注入。

这里spring声明配置方式,配置dao的bean:

UserDaoImpl实现类继承SqlSessionDaoSupport

spring和mybatis整合_第3张图片

             3.配置dao:在applicationContext.xml中配置dao。

spring和mybatis整合_第4张图片

               4.测试程序

spring和mybatis整合_第5张图片

mapper代理开发

           1.mapper.xml和mapper.java

          2.通过MapperFactoryBean创建代理对象

spring和mybatis整合_第6张图片

此方法问题:需要针对每个mapper进行配置,麻烦。

              通过MapperScannerConfigurer进行mapper扫描(建议使用)

spring和mybatis整合_第7张图片

        3.测试代码

spring和mybatis整合_第8张图片

 

你可能感兴趣的:(java,WebFrame,learning)