本文主要介绍Spring与Mybatis三种常用整合方法,需要的整合架包是mybatis-spring.jar,可通过链接
http://code.google.com/p/mybatis/下载到。
1、采用数据映射器(MapperFactoryBean)的方式,不用写mybatis映射文件,采用注解方式提供相应的sql语句和输入参数。
(1)Spring配置文件:
[java] view plain copy
1. <!-- 引入jdbc配置文件 -->
2. <context:property-placeholder location="jdbc.properties" />
3.
4. <!--创建jdbc数据源 -->
5. <bean id="dataSource" class = "org.apache.commons.dbcp.BasicDataSource" destroy-method= "close" >
6. <property name="driverClassName" value= "${driver}" />
7. <property name="url" value= "${url}" />
8. <property name="username" value= "${username}" />
9. <property name="password" value= "${password}" />
10. <property name="initialSize" value= "${initialSize}" />
11. <property name="maxActive" value= "${maxActive}" />
12. <property name="maxIdle" value= "${maxIdle}" />
13. <property name="minIdle" value= "${minIdle}" />
14. </bean>
15.
16. <!-- 创建SqlSessionFactory,同时指定数据源-->
17. <bean id="sqlSessionFactory" class = "org.mybatis.spring.SqlSessionFactoryBean" >
18. <property name="dataSource" ref= "dataSource" />
19. </bean>
20.
21. <!--创建数据映射器,数据映射器必须为接口-->
22. <bean id="userMapper" class = "org.mybatis.spring.mapper.MapperFactoryBean" >
23. <property name="mapperInterface" value= "com.xxt.ibatis.dbcp.dao.UserMapper" />
24. <property name="sqlSessionFactory" ref= "sqlSessionFactory" />
25. </bean>
26.
27. <bean id="userDaoImpl2" class = "com.xxt.ibatis.dbcp.dao.impl.UserDaoImpl2" >
28. <property name="userMapper" ref= "userMapper" />
29. </bean>
(2)数据映射器UserMapper,代码如下:
[java] view plain copy
1. public interface UserMapper {
2. @Select ( "SELECT * FROM user WHERE id = #{userId}" )
3. User getUser(@Param ( "userId" ) long id);
4. }
(3) dao接口类UserDao,代码如下:
[java] view plain copy
1. public interface UserDao {
2. public User getUserById(User user);
3. }
(4)dao实现类UserDaoImpl2,,代码如下:
[java] view plain copy
1. public class UserDaoImpl2 implements UserDao {
2. private UserMapper userMapper;
3.
4. public void setUserMapper(UserMapper userMapper) {
5. this .userMapper = userMapper;
6. }
7.
8. public User getUserById(User user) {
9. return userMapper.getUser(user.getId());
10. }
11. }
2、采用接口org.apache.ibatis.session.SqlSession的实现类org.mybatis.spring.SqlSessionTemplate。
mybatis中, sessionFactory可由SqlSessionFactoryBuilder.来创建。MyBatis- Spring 中,使用了SqlSessionFactoryBean来替代。SqlSessionFactoryBean有一个必须属性 dataSource,另外其还有一个通用属性configLocation(用来指定mybatis的xml配置文件路径)。
(1)Spring配置文件:
[java] view plain copy
1. <bean id= "sqlSessionFactory" class = "org.mybatis.spring.SqlSessionFactoryBean" >
2. <property name="dataSource" ref= "dataSource" />
3. <property name="configLocation" value= "classpath:sqlMapConfig.xml" />
4. <!-- <property name="mapperLocations" value= "classpath*:com/xxt/ibatis/dbcp/domain/user.map.xml" / > -->
5. </bean>
6.
7. <bean id="sqlSession" class = "org.mybatis.spring.SqlSessionTemplate" >
8. <constructor-arg index="0" ref= "sqlSessionFactory" />
9. </bean>
10.
11. <bean id="userDaoImpl3" class = "com.xxt.ibatis.dbcp.dao.impl.UserDaoImpl3" >
12. <!--注入SqlSessionTemplate实例 -->
13. <property name="sqlSessionTemplate" ref= "sqlSession" />
14. <!--也可直接注入SqlSessionFactory实例,二者都指定时,SqlSessionFactory失效 -->
15. <!-- <property name="sqlSessionFactory" ref= "sqlSessionFactory" />
16. -->
17. </bean>
(2)mybatis总配置文件sqlMapConfig.xml:
[xml] view plain copy
1. < configuration >
2. < typeAliases >
3. < typeAlias type = "com.xxt.ibatis.dbcp.domain.User" alias = "User" />
4. </ typeAliases >
5. < mappers >
6. < mapper resource = "com/xxt/ibatis/dbcp/domain/user.map.xml" />
7. </ mappers >
8. </ configuration >
(3)实体类映射文件user.map.xml:
[java] view plain copy
1. <mapper namespace= "com.xxt.ibatis.dbcp.domain.User" >
2. <resultMap type="User" id= "userMap" >
3. <id property="id" column= "id" />
4. <result property="name" column= "name" />
5. <result property="password" column= "password" />
6. <result property="createTime" column= "createtime" />
7. </resultMap>
8. <select id="getUser" parameterType= "User" resultMap= "userMap" >
9. select * from user where id = #{id}
10. </select>
11. <mapper/>
(4)dao层接口实现类UserDaoImpl:
[java] view plain copy
1. public class UserDaoImpl implements UserDao {
2. public SqlSessionTemplate sqlSession;
3. public User getUserById(User user) {
4. return (User)sqlSession.selectOne( "com.xxt.ibatis.dbcp.domain.User.getUser" , user);
5. }
6. public void setSqlSession(SqlSessionTemplate sqlSession) {
7. this .sqlSession = sqlSession;
8. }
9. }
分享到:
相关推荐
描述中提到"基本常用jar包的整合",意味着这个压缩包包含了一些基础且常用的库,这些库是进行Spring和MyBatis整合所必需的。例如,Spring的`spring-context`、`spring-beans`、`spring-jdbc`和`spring-tx`,以及...
以上就是Spring与MyBatis整合所需的关键知识点。在实际项目中,还需要根据具体需求进行适当的配置调整和优化,确保框架的高效协同工作。正确配置和理解这些概念对于Java开发者来说至关重要,因为它们构成了许多企业...
3. **Spring与MyBatis整合**: - **配置MyBatis-Spring**:整合的关键在于配置Spring的SqlSessionFactoryBean,它会根据配置文件生成SqlSessionFactory,该工厂用于创建SqlSession对象,进而执行数据库操作。 - **...
3. **Spring与MyBatis整合**:整合Spring和MyBatis主要涉及以下几个步骤: - **配置数据源**:在Spring的配置文件中,我们需要定义数据源(DataSource),这是连接数据库的关键。 - **配置SqlSessionFactory**:...
现在我们来详细讨论一下Spring-Mybatis整合的相关知识点。 1. **Spring 概述**: Spring 是一个全面的企业级应用框架,它提供了一个容器来管理对象的生命周期和依赖关系。Spring 的核心特性包括依赖注入(DI)和...
总结,这个压缩包提供了一个完整的Spring MVC和MyBatis整合的示例,包含了数据库脚本和详尽的注释,无论你是初学者还是有经验的开发者,都能从中受益。通过研究源码,你可以掌握Web应用的开发流程,理解Spring MVC和...
下面将详细介绍Spring与MyBatis整合所需的知识点。 1. **Spring Framework**: Spring的核心是IoC(Inversion of Control,控制反转)和DI(Dependency Injection,依赖注入),它通过容器管理对象的生命周期和对象...
最后,`springMybatis`可能是指项目的根目录或者模块名称,通常包含`src/main/resources`下的Mybatis配置文件、Mapper接口和XML文件,以及`src/main/java`下的业务逻辑和服务层代码。 综上所述,"Spring整合Mybatis...
"03.Spring和MyBatis整合-全注解配置"可能进一步深入到如何在不使用XML配置的情况下,完全依赖注解来完成Spring和MyBatis的整合。这包括在Service层使用@Autowired注解注入Mapper接口,以及在Mapper接口的方法上使用...
这个压缩包“Spring-SpringMVC-Mybatis整合所有jar包”包含了这三个框架整合所需的全部依赖,使得开发者能够快速搭建起一个功能完备的后端服务。 1. **Spring框架**:Spring是一个全面的开源应用框架,它提供了对...
Spring与MyBatis整合** - **配置MyBatis-Spring** 要整合Spring和MyBatis,首先需要引入`mybatis-spring`库,如`mybatis-spring-1.2.2.jar`。这个库提供了Spring与MyBatis之间的桥梁,使得MyBatis的...
"spring+mybatis整合包"是指将这两个框架进行集成,以实现更加高效和灵活的Java开发。下面将详细阐述Spring与MyBatis的整合过程、各自的核心功能以及它们在实际项目中的应用。 1. Spring框架:Spring是Java领域最...
将Spring与Mybatis整合,可以充分利用两者的优点,构建出高效、灵活的Web应用。 1. **Spring整合Mybatis的基本步骤** - **引入依赖**: 在项目的pom.xml中添加Spring和Mybatis的相关依赖。 - **配置数据源**: ...
MyBatis与Spring的整合,可以让我们的数据访问层更加简洁,同时利用Spring的事务管理,实现更强大的功能。 整合Spring和MyBatis的关键步骤如下: 1. **添加依赖**:在Maven项目中,我们需要在pom.xml文件中添加...
spring与mybatis三种整合方法 本文主要介绍Spring与Mybatis三种常用整合方法,需要的整合架包是mybatis-spring.jar,可通过链接
5. **Spring 整合 Mybatis**:在 Spring 的配置文件中,使用 `MapperScannerConfigurer` 扫描带有特定注解(通常是 `@Repository`)的 Mapper 接口,并自动创建对应的 Bean。 ```xml <bean class="org.mybatis....
以上就是关于“mybatis与spring整合的全部jar包”的详细知识点,这些组件共同构建了一个灵活且易于维护的Java Web应用程序。通过理解这些概念和技术,开发者可以更好地理解和使用SSM框架来开发复杂的企业级应用。
前者是MyBatis的核心库,后者是MyBatis与Spring的集成库,用于在Spring环境中使用MyBatis。 4. **数据库驱动**: 根据实际使用的数据库(如MySQL, Oracle, PostgreSQL等),需要对应的JDBC驱动,例如`mysql-...
同时,mybatis-spring.jar是Spring与MyBatis之间的桥梁,它提供了事务管理和SqlSessionFactoryBean等,使得MyBatis可以无缝地融入Spring应用中。 整合这三者时,我们需要创建Spring的配置文件,如...
在"Spring+MyBatis 整合中文教程+例子"中,我们可以深入学习如何将这两个强大的框架结合在一起,构建出高效、灵活的企业级应用程序。整合过程涉及以下几个关键知识点: 1. **环境搭建**:首先,你需要安装JDK,配置...