`
carlosfu
  • 浏览: 584770 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Ba8b5055-9c58-3ab0-8a1c-e710f0495d2c
BigMemory实战与理...
浏览量:31595
53b2087e-c637-34d2-b61d-257846f73ade
RedisCluster开...
浏览量:151375
C9f66038-7478-3388-8086-d20c1f535495
缓存的使用与设计
浏览量:125786
社区版块
存档分类
最新评论

MyBatis系列目录--7. Mybatis与Spring最佳整合

阅读更多

转载请注明出处哈:http://carlosfu.iteye.com/blog/2238662


 

1. 整合思路

(1) SqlSessionFactory由Spring作为单例管理

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

(3) 持久层mapper(dao)由spring管理

2. 依赖

(1)spring依赖

<spring.version>3.2.8.RELEASE</spring.version>
<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-core</artifactId>
	<version>${spring.version}</version>
</dependency>
<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-tx</artifactId>
	<version>${spring.version}</version>
</dependency>
<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-beans</artifactId>
	<version>${spring.version}</version>
</dependency>
<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-expression</artifactId>
	<version>${spring.version}</version>
</dependency>
<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-context</artifactId>
	<version>${spring.version}</version>
</dependency>
<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-context-support</artifactId>
	<version>${spring.version}</version>
</dependency>
<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-jdbc</artifactId>
	<version>${spring.version}</version>
</dependency>
<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-test</artifactId>
	<version>${spring.version}</version>
</dependency>

 

(2)spring-mybatis依赖 

<mybatis.spring.version>1.2.2</mybatis.spring.version>
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>${mybatis.spring.version}</version>
</dependency>

 

(3) c3p0 

<c3p0.version>0.9.2</c3p0.version>
    <dependency>
    <groupId>com.mchange</groupId>
    <artifactId>c3p0</artifactId>
    <version>${c3p0.version}</version>
</dependency>

 


3. spring配置:(spring配置文件放到classpath下spring目录下) 

(1)spring总配置

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"
	default-autowire="byName">
	<import resource="classpath:spring/spring-data.xml" />
	<import resource="classpath:spring/spring-mybatis.xml" />
</beans>

 


(2)spring-data.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:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.0.xsd" default-autowire="byName">
    <context:property-placeholder location="classpath:db.properties"/>
    <bean name="footballDB" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="${football.driver}"/>
        <property name="jdbcUrl" value="${football.url}"/>
        <property name="user" value="${football.username}"/>
        <property name="password" value="${football.password}"/>
        <property name="initialPoolSize" value="10"/>
        <property name="maxPoolSize" value="30"/>
        <property name="testConnectionOnCheckin" value="false"/>
        <property name="testConnectionOnCheckout" value="true"/>
    </bean>
</beans>

 

(3)spring-mybatis配置: 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
                     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"
       default-autowire="byName">
    <bean id="mysqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="footballDB"/>
        <!-- mybatis配置文件的位置 -->
        <property name="configLocation" value="classpath:mybatis-config.xml"/>
        <!-- domain的包路径,类似MyBatis的typeAliases配置 -->
        <property name="typeAliasesPackage" value="com.sohu.tv.bean"/>
        <!-- mapper配置文件的路径,类似MyBatis的mappers配置 -->
        <property name="mapperLocations" value="classpath:mapper/*.xml"/>
    </bean>
    <!-- 扫描接口类的包路径 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.sohu.tv.mapper"/>
    </bean>
</beans>

 


(4)mybatis-config.xml配置: 

<?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>
    <!--数据库的字段名到pojo类的属性名的自动映射-->
    <settings>
        <setting name="useColumnLabel" value="true"/>
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>
</configuration>

 

(5)db.properties: 

football.driver=com.mysql.jdbc.Driver
football.url=jdbc:mysql://localhost:3306/football
football.username=root
football.password=your password

 


4. 单元测试: 

spring基类测试

package com.sohu.tv.spring;
import org.junit.Assert;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
/**
 * spring-mybatis基类测试
 * @author leifu
 * @Date 2015年1月12日
 * @Time 下午2:34:21
 */
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({"classpath:spring/spring.xml"})
public class MyBatisSpringBaseTest  extends Assert {
    protected final Logger logger = LoggerFactory.getLogger(this.getClass());
}
package com.sohu.tv.spring;
import java.util.List;
import javax.annotation.Resource;
import org.junit.Test;
import com.sohu.tv.bean.Club;
import com.sohu.tv.mapper.ClubDao;
/**
 * spring-mybatis clubDao测试
 * 
 * @author leifu
 * @Date 2015年8月4日
 * @Time 下午12:02:21
 */
public class MyBatisSpringClubTest extends MyBatisSpringBaseTest {
    @Resource(name = "clubDao")
    private ClubDao clubDao;
    @Test
    public void testGetAllClubs() {
        List<Club> clubList = clubDao.getAllClubs();
        if (clubList != null && !clubList.isEmpty()) {
            System.out.println("clubList size: " + clubList.size());
            for (Club club : clubList) {
                System.out.println(club);
            }
        }
    }
}
分享到:
评论

相关推荐

    mybatis-spring-1.3.0.jar 下载

    在Java开发领域,MyBatis和Spring框架的结合使用是常见的实践,它们的整合使得数据访问层的构建更为便捷和灵活。本篇文章将围绕"mybatis-spring-1.3.0.jar"这一组件展开,详细讲解其在实际项目中的作用、功能以及...

    MyBatis整合Spring中间件jar包 mybatis-spring-1.3.0.jar

    MyBatis-Spring是MyBatis与Spring框架的整合组件,其主要目的是简化在Spring应用中集成MyBatis的过程,使两者能够无缝协作。mybatis-spring-1.3.0.jar是这个中间件的特定版本,包含了实现这种集成所需的所有类和资源...

    mybatis-spring-1.3.3.jar官方下载

    MyBatis-Spring 是一个将 MyBatis ORM 框架与 Spring 框架集成的库,使得在 Spring 应用中使用 MyBatis 变得更加方便。mybatis-spring-1.3.3.jar 文件是这个集成库的一个版本,提供了对 MyBatis 1.3.3 和 Spring 的...

    mybatis-spring-1.31.jar

    MyBatis-Spring 1.3.1.jar是MyBatis与Spring框架深度整合的一个重要组件,它允许开发者在Spring环境下无缝地使用MyBatis。这个版本是官方发布的最新稳定版,经过实际测试,确保了其稳定性和兼容性。 MyBatis-Spring...

    mybatis-spring-1.2.0.jar

    1. **自动事务管理**:整合Spring的声明式事务管理,使得在MyBatis中可以方便地进行事务控制。 2. **SqlSession管理**:避免手动创建和关闭SqlSession,自动在Spring的上下文中处理SqlSession生命周期。 3. **...

    spring-mybatis-spring-1.3.2.tar.gz

    四、SpringMVC与Spring整合 1. DispatcherServlet配置:在web.xml中配置DispatcherServlet,它是SpringMVC的前端控制器,负责接收请求并分发给处理器。 2. Controller定义:创建@Controller注解的类,实现业务逻辑,...

    mybatis-3.2.0-SNAPSHOT.jar mybatis-spring-1.1.1.jar

    mybatis-spring是一个用于整合MyBatis与Spring的库,1.1.1版本提供了一些关键特性: 1. **SqlSessionTemplate和SqlSessionFactoryBean**:这两个类是mybatis-spring的核心,它们帮助我们在Spring环境中无缝地使用...

    mybatis-spring-1.2.3.jar

    mybatis-spring-1.2.3.整合用的jar包 jarmybatis-spring-1.2.3.jarmybatis-spring-1.2.3.jarmybatis-spring-1.2.3.jarmybatis-spring-1.2.3.jar

    spring-boot-starter-mybatis-spring-boot-1.3.3.tar.gz

    通过这个起步依赖,我们可以快速地搭建起Spring Boot与MyBatis的整合环境,无需手动配置大量的XML或Java代码。 1. **集成过程** 集成MyBatis到Spring Boot项目的第一步是添加对应的依赖。在`pom.xml`文件中,我们...

    mybatis-spring-1.2.3-source.zip

    《MyBatis-Spring整合源码深度解析》 在Java开发领域,MyBatis和Spring是两个非常重要的框架,它们分别在持久层和容器管理方面提供了强大的支持。MyBatis-Spring则是这两个框架的完美结合,它使得MyBatis与Spring...

    mybatis-spring-1.2.0-bundle.zip

    MyBatis-Spring 是 MyBatis 框架与 Spring 框架的桥梁,它使得 MyBatis 可以无缝地融入到 Spring 的应用环境中,实现两者的高效协作。mybatis-spring-1.2.0-bundle.zip 文件是一个包含 MyBatis-Spring 1.2.0 版本的...

    spring-mybatis-spring-1.0.0-RC3.tar.gz

    mybatis-spring-spring.tar.gz.jar 各个版本,免费下载。 mybatis-spring-spring.tar.gz.jar linux 各个版本,免费下载。 mybatis 与 spring 整合的 jar 包 linux 各个版本,免费下载。

    spring-mybatis-spring-1.0.0-RC1.tar.gz

    mybatis-spring-spring.tar.gz.jar 各个版本,免费下载。 mybatis-spring-spring.tar.gz.jar linux 各个版本,免费下载。 mybatis 与 spring 整合的 jar 包 linux 各个版本,免费下载。

    spring-mybatis-spring-1.1.0.tar.gz

    mybatis-spring-spring.tar.gz.jar 各个版本,免费下载。 mybatis-spring-spring.tar.gz.jar linux 各个版本,免费下载。 mybatis 与 spring 整合的 jar 包 linux 各个版本,免费下载。

    spring-mybatis-spring-1.2.2.tar.gz

    mybatis-spring-spring.tar.gz.jar 各个版本,免费下载。 mybatis-spring-spring.tar.gz.jar linux 各个版本,免费下载。 mybatis 与 spring 整合的 jar 包 linux 各个版本,免费下载。

    spring-mybatis-spring-1.1.1.tar.gz

    mybatis-spring-spring.tar.gz.jar 各个版本,免费下载。 mybatis-spring-spring.tar.gz.jar linux 各个版本,免费下载。 mybatis 与 spring 整合的 jar 包 linux 各个版本,免费下载。

    spring-mybatis-spring-1.2.1.tar.gz

    mybatis-spring-spring.tar.gz.jar 各个版本,免费下载。 mybatis-spring-spring.tar.gz.jar linux 各个版本,免费下载。 mybatis 与 spring 整合的 jar 包 linux 各个版本,免费下载。

    spring-mybatis-spring-1.2.0.tar.gz

    mybatis-spring-spring.tar.gz.jar 各个版本,免费下载。 mybatis-spring-spring.tar.gz.jar linux 各个版本,免费下载。 mybatis 与 spring 整合的 jar 包 linux 各个版本,免费下载。

    spring-mybatis-spring-3.0.0.tar.gz

    mybatis-spring-spring.tar.gz.jar 各个版本,免费下载。 mybatis-spring-spring.tar.gz.jar linux 各个版本,免费下载。 mybatis 与 spring 整合的 jar 包 linux 各个版本,免费下载。

    spring-mybatis-spring-2.0.4.tar.gz

    mybatis-spring-spring.tar.gz.jar 各个版本,免费下载。 mybatis-spring-spring.tar.gz.jar linux 各个版本,免费下载。 mybatis 与 spring 整合的 jar 包 linux 各个版本,免费下载。

Global site tag (gtag.js) - Google Analytics