spring整合myBatis

原创 2012年03月29日 13:14:39

整合spring与myBatis之前,需要测试myBatis与数据库之间的链接,至少我喜欢这样做,参考上一篇文章,这次整合也是基于上一篇文章的!

http://blog.csdn.net/huzheaccp/article/details/7399124

项目的源码和jar包可以去我的资源下载

项目的源码和jar包可以去我的资源下载

整合之前需要jar包,网上搜一搜,本次用:spring 3.0.1  +  myBatis 3.0 + mybatis-spring 1.0

整个项目的一个结构:

说明:

UserMapper:dao接口       userMapper.xml是myBatis针对dao接口的实现

Entity不用管、user是实体类、

IuserService 是service接口  UserService是针对service接口的实现

SpringTest 是针对本次整合的一个测试类

ApplicationContext-mapper.xml 是myBatis的配置文件信息

ApplicationContext-service.xml 是spring配置文件信息

ApplicationContext.xml是spring的配置文件信息 

我主张配置文件能分类就分类,要不然写到一块乱、难维护!

下就说说主要整合部分,其他的在上一章有说明,请参考:

http://blog.csdn.net/huzheaccp/article/details/7399124

service接口:

package com.forum.service;

import com.forum.po.User;

public interface IUserService {
	/**
	 * 根据ID获得User信息
	 * @param id
	 * @return
	 */
	public User findById(String id);

}

接口实现:

package com.forum.service.impl;

import com.forum.dao.UserMapper;
import com.forum.po.User;
import com.forum.service.IUserService;

public class UserServiceImpl implements IUserService {
	private UserMapper userMapper;
    /**
     * 根据ID获得USER信息
     */
	public User findById(String id) {
		return userMapper.findById(id);
	}

	public UserMapper getUserMapper() {
		return userMapper;
	}

	public void setUserMapper(UserMapper userMapper) {
		this.userMapper = userMapper;
	}
	
	
  
}

ApplicationContext.xml配置文件内容:

<?xml version="1.0" encoding="UTF-8"?>
<beans
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="com.ibm.db2.jcc.DB2Driver"></property>
        <property name="url" value="jdbc:db2://localhost:50000/forum"></property>
        <property name="username" value="DB2ADMIN"></property>
        <property name="password" value="admin"></property>
        <property name="maxActive" value="100"></property>
        <property name="maxIdle" value="30"></property>
        <property name="maxWait" value="500"></property>
        <property name="defaultAutoCommit" value="true"></property>
    </bean>

    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="configLocation" value="classpath:configuration.xml"></property>
        <property name="dataSource" ref="dataSource" />
    </bean>
    <import resource="applicationContext-*.xml"/>
</beans>

整合的时候我把数据库配置文件放到了spring管理,上次是放在myBatisconfiguration.xml中的;

这次的configuration.xml中清减到只配置myBatis的别名和mapper如下所示:

<?xml version="1.0" encoding="UTF-8" ?>   
<!DOCTYPE configuration   
    PUBLIC "-//mybatis.org//DTD Config 3.0//EN"   
    "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
	<typeAliases>
		<!--给实体类起一个别名 user -->
		<typeAlias type="com.forum.po.User" alias="User" />
	</typeAliases>
    <mappers>
		<!--userMapper.xml装载进来  同等于把“dao”的实现装载进来 -->
		<mapper resource="com/forum/dao/impl/userMapper.xml" />
	</mappers>
	
</configuration>

ApplicationContext-mapper.xml这个文件主要是把myBatisdao实现放进来:

<?xml version="1.0" encoding="UTF-8"?>
<beans
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
	
    <bean id="userMapper" class="org.mybatis.spring.MapperFactoryBean">
       <property name="mapperInterface" value="com.forum.dao.UserMapper"></property>
       <property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
    </bean>

</beans>

Applicationservice.xml主要是将service接口注入进来,文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

    <bean id="userService" class="com.forum.service.impl.UserServiceImpl">
       <property name="userMapper" ref="userMapper"></property>
    </bean>

</beans>

测试类:springTest:

package com.forum.test;

import junit.framework.TestCase;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.forum.po.User;
import com.forum.service.IUserService;

public class SpringTest extends TestCase {
	@Test
	public void testSpring(){
		ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
		IUserService userService = (IUserService) applicationContext.getBean("userService");
		User user = userService.findById("1");
		System.out.println(user.getName());
	}
}

Dao和实体类如何请参看上一章:

http://blog.csdn.net/huzheaccp/article/details/7399124

spingmyBatis整合,主要就是将myBatis

交给spring管理


项目的源码和jar包可以去我的资源下载

项目的源码和jar包可以去我的资源下载



欢迎各位广大同仁拍砖,哈哈....  只求共同进步!




相关文章推荐

SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)

使用SSM(Spring、SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方。之前没有记录SSM整合...

mybatis和spring整合——常用的两种

网上转载实例: 本文主要介绍了如何将mybatis和spring整合在一起使用,本人使用的是mybatis3.05 + spring3.1.0M2 ,使用dbcp作为数据库连接池。 1.编写数...
  • wm5920
  • wm5920
  • 2012年11月22日 14:50
  • 1488

Spring MVC整合Mybatis实例

示例下载地址:http://download.csdn.net/detail/geloin/4506640         本文基于Spring 注解,让Spring跑起来。本文使用Mysql数据库...
  • geloin
  • geloin
  • 2012年05月05日 10:52
  • 123637

深入浅出Mybatis-与Spring集成

单独使用mybatis是有很多限制的(比如无法实现跨越多个session的事务),而且很多业务系统本来就是使用spring来管理的事务,因此mybatis最好与spring集成起来使用。 本文通过循序...

MyBatis与Spring整合——通过官方文档进行最简单的整合

整合前先重新理下两个框架的基础的东西。以前搭Hibernate那些,都是是自己看着别人已经搭好的视频,然后自己重新理了一次。这次Mybatis与Spring的整合。从最原始的官方文档开始搭起。要学的,...
  • iaiti
  • iaiti
  • 2016年12月05日 17:55
  • 2643

spring与mybatis四种整合方法

一、采用org.mybatis.spring.mapper.MapperScannerConfigurer 整体结构如下图: 1、配置文件 1>applicationContext01.xml x...
  • xqhys
  • xqhys
  • 2017年01月03日 15:17
  • 4746

【MyBatis框架】mybatis和spring整合

spring和mybatis整合 1.整合思路 需要spring通过单例方式管理SqlSessionFactory。 spring和mybatis整合生成代理对象,使用SqlSessionFact...

spring与mybatis四种整合方法

spring与mybatis三种整合方法

mybatis整合Spring的基本步骤

mybatis整合Spring的基本步骤
  • XffGem
  • XffGem
  • 2016年01月08日 10:51
  • 1739

手把手教你整合最优雅SSM框架:SpringMVC + Spring + MyBatis

小疯手把手带你整合SpringMVC+Spring+MyBatis三大框架,俗称SSM,用它完全代替传统的SSH框架,把它们最优雅的一面发挥出来。整合配置结束后,会有一个应用实例“图书管理系统”带给大...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:spring整合myBatis
举报原因:
原因补充:

(最多只允许输入30个字)