因spring3发布时mybatis还没有出正式版本,所以spring没有整合最新的mybatis.不过社区倒是开发了一个中间件。
需要的jar包
mybatis-3.0.6.jar
mybatis-spring-1.0.2.jar
要点:
1.在spring中配置mybatis工厂类
2.在dao层使用spring注入的的工具bean对数据进行操作
整合时,可以有四种方式来使用mybatis进行数据处理。
spring
中必须的配置。
spring的配置文件中加入以下内容
<!-- MyBatis配置 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="c3p0DataSource" />
<property name="configLocation" value="/WEB-INF/config/db/MyBatisConfiguration.xml" />
<property name="mapperLocations" value="/WEB-INF/config/db/*Mapper.xml" />
<property name="typeAliasesPackage" value="${mybatis.alias.basepackage}" />
</bean>
1.SqlSessionFactoryBean (必需)
就是中间件所需的处理类
2.dataSource (必需)
spring中数据源引用
3.configLocation (可选)
Mybatis自身的配置文件,一般用来声明别名
4.mapperLocation (可选)
mybatis的映射文件
5.typeAliasesPackage (可选)
要映射类的包路径,如果使用了这种方式,则configLocation中不必再进行声明
使用mybatis进行数据处理的四种方式(SqlSessionTemplate/SqlSessionDaoSupport/MapperFactoryBean/MapperScannerConfigurer)
不同方式的特点
- SqlSessionTemplate 这个需要写配置文件,在实现类中注入sqlsession,再使用sqlsession,是细颗粒控制
- SqlSessionDaoSupport 这个只需要在实现类中继承特殊类就可以使用sqlsession
- MapperFactoryBean 这个要写配置文件,把对应的所有接口在配置文件中引用即可,无需写实现类
- MapperScannerConfigurer 这个要写配置文件,只要给出接口所在的包即可,会自动把包中的接口引入,无需写实现类
-
配置文件加入新配
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg index="0" ref="sqlSessionFactory" />
<constructor-arg index="1" value="BATCH" /><!--- 如果想要进行批量操作可加入这个属性 ->
</bean>
- 注入sqlsession()
@Reasource //使用spring3的注解注入
private SqlSession sqlSession;
- 使用sqlsession来进行操作
public User getUser(String userId) {
return (User) sqlSession.selectOne("org.mybatis.spring.sample.mapper.UserMapper.getUser", userId);
}
-
SqlSessionDaoSupport(sqlSessionFactory会被spring自动装配,不需要手动注入)
- 继承SqlSessionDaoSupport类
public class UserDaoImpl extends SqlSessionDaoSupport implements UserDao {
}
- 使用getSqlSession()方法取sqlSession来进行数据处理
public User getUser(String userId) {
return (User) getSqlSession().selectOne("org.mybatis.spring.sample.mapper.UserMapper.getUser", userId);
}
- 写配置文件,引入每个DAO接口
<bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="mapperInterface" value="org.mybatis.spring.sample.mapper.UserMapper" />
<property name="sqlSessionFactory" ref="sqlSessionFactory" />
</bean>
- 在业务层可直接注入dao的接口进行操作
- 写配置文件,配置包名将自动引入包中的所有接口
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="org.mybatis.spring.sample.mapper" />
</bean>
- 在业务层可直接注入DAO接口操作,注入时使用的是接口名,其首字母小写
- 注意:如果有别的实现类,其提供的名称如果是接口名,且首字母小写,则会在启动时出现冲突错误
分享到:
相关推荐
MyBatis3.06与Spring3.1的整合是一个常见的技术实践,它结合了MyBatis的强大SQL映射能力和Spring的依赖注入及事务管理功能,使得应用的开发更为便捷和高效。在这个整合例子中,我们将探讨如何配置事务管理以及Spring...
springMVC3.0 + MyBatis3.1 花了2天整合成功的DEMO Spring 用的是基于注解的 MyBatis 用的是基于XML的 带表结构 有增删改查的小例子(含事务) 个人认为这套小框架有有兴趣的人 完全可以自己修改修改, 作为自己以后...
《Spring3.1 和 MyBatis 整合笔记》是一本深入探讨如何将Spring框架与MyBatis数据持久层框架整合的技术书籍。该资源提供了第二版的源代码,旨在帮助开发者更好地理解和实践这两种流行技术的集成。源代码的更新表明...
**基于Struts2.2.6+Mybatis3.2.0+Spring3.1的整合项目** 这个项目是一个典型的Java Web应用框架整合实例,它将三个流行的技术——Struts2、Mybatis和Spring——集成在一起,以实现高效、灵活的后端开发。下面将分别...
在Spring3.1与MyBatis3.06的整合过程中,重要的是理解每个组件的作用以及它们如何协同工作。这样,你可以根据项目的具体需求,灵活地调整配置和代码,以实现最佳的性能和可维护性。通过这种方式,开发者能够充分利用...
总的来说,MyBatis与Spring的整合提供了多样化的选择,开发者可以根据项目需求选择最适合的集成方式。每种方式都有其优势,例如仅使用MyBatis时,配置相对简单,而结合Spring后,事务管理、依赖注入等特性可以进一步...
Struts2、Spring3.1、MyBatis3.06和EasyUI是四个在Java Web开发中广泛应用的框架和技术。它们的整合旨在提供一个高效、灵活且易于维护的后端架构,同时利用EasyUI来增强前端用户体验。下面将详细阐述这四个组件的...
Struts2、Spring3.1和MyBatis3.06是Java开发中常见的三大框架,它们各自在不同的层面上提供了强大的功能,并且可以互相整合,以实现更高效的企业级应用开发。本压缩包提供了整合这三大框架所需的核心库文件,下面将...
通过以上步骤,Spring3.1和MyBatis完成了基本的整合。这种整合方式使我们能够在保持灵活性和控制力的同时,享受Spring提供的高级服务,如事务管理和依赖注入。在实际开发中,还可以进一步优化,例如使用Spring的`@...
以上就是"spring3.2.2+mybatis3.1-lib"整合的相关知识点,这个压缩包提供的jar包包含了完成上述整合所需的库文件,方便开发者快速搭建和使用Spring与Mybatis整合的环境。在实际项目中,理解并熟练掌握这些知识点,将...
整合SpringMVC、Spring和iBatis进行CRUD操作,通常需要以下步骤: 1. **配置SpringMVC**:创建`web.xml`配置文件,设置DispatcherServlet,并配置相应的SpringMVC配置文件。 2. **配置Spring**:在Spring配置文件...
### Spring与Mybatis三种常用整合方法详解 #### 第一种整合方法:使用MapperFactoryBean **1.1 Spring配置文件** 为了使Spring与Mybatis能够顺利整合,首先需要在Spring配置文件中进行必要的设置。以下是一个典型...
基于struts2.2+spring3.1+Mybatis3.1(SSI框架)框架开发下的JAR包整合!
### 整合 MyBatis 与 Spring:详细解析 #### 一、引言 随着企业级应用的发展,数据访问层的高效性和可维护性变得尤为重要。MyBatis 和 Spring 是两个广泛使用的开源框架,分别专注于数据访问层和企业级应用程序的...
Struts2、Spring和MyBatis是Java Web开发中非常重要的三个框架,它们的整合能够构建出高效、灵活的企业级应用程序。在这个项目中,我们看到的是一个基于Struts2.3、Spring3.2和MyBatis3.1的集成应用,其中使用了注释...
MyBatis-Spring的整合帮助开发者轻松地将MyBatis与Spring集成在一起。Spring将负责加载和创建必需的MyBatis类,控制事务,翻译表达式,并且可以将映射器(Mapper)注入到Service Bean中。 ##### 2.2 安装 为了使用...
5. **事务管理**:Mybatis与Spring整合后,可以利用Spring的事务管理,实现声明式事务。 **整合SpringMVC与Mybatis** 1. **配置Mybatis-Spring整合**:通过SqlSessionFactoryBean和MapperScannerConfigurer配置...
"struct2.3+spring3.1+mybits3.1 核心Jar包和配置文件"的组合正是这样一个经典的应用架构,它将Struts2、Spring3.1和MyBatis3.1这三个流行框架整合在一起,为开发者提供了强大的MVC(Model-View-Controller)架构...
在IT行业中,Spring框架与MyBatis的整合是常见的企业级应用开发模式,尤其是在Java领域。本项目基于Spring 4.3和MyBatis 3.4进行整合,旨在构建一个SSM(Spring、SpringMVC、MyBatis)集成的多模块Web项目。这个项目...