本文主要介绍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. }
分享到:
相关推荐
spring_mybatis 整合jar包,基本常用jar包的整合,。。。。。。。。。。。。。。。
使用Spring框架和MyBatis框架整合时需要的所有jar包,
spring-mybatis整合jar包spring-mybatis整合jar包spring-mybatis整合jar包
spring mvc mybatis 整合源码,带数据库脚本,带详细注释,适合初、中、高各级开发人员使用
Spring-Mybatis整合包含基本的增删改查简单易懂!
Spring与MyBatis代码整合源码,spring版本spring-framework-4.0.0.RELEASE,MyBatis版本为mybatis-3.2.0
这是一个小型的项目,关于spring和mybatis整合的小项目,直接可运行,无错误
Struts2, Spring与myBatis整合示例项目
spring与mybatis整合时,所需的全部jar包。。。。。。
Spring与Mybatis整合,一个简单的demo,包括配置文件等
spring与mybatis三种整合方法 本文主要介绍Spring与Mybatis三种常用整合方法,需要的整合架包是mybatis-spring.jar,可通过链接
maven spring spring mvc mybatis 整合
spring与mybatis的整合,改文档详细介绍了如何整合,代码完整。
Spring-Springmvc-Mybatis整合以及后续开发所需要的所有jar包
spring和mybatis整合 jar包 spring和mybatis整合 jar包
一个简单的小项目Spring与Mybatis框架的整合
spring整合Mybatis纯净项目,基础搭建,下载就用,包含整套源码,jar包
本文档是针对ssm编写的spring与mybatis整合的xml配置文件,后期还会发布mybatis配置文件。
spring和mybatis整合.zip