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依赖

3.2.8.RELEASE

	org.springframework
	spring-core
	${spring.version}


	org.springframework
	spring-tx
	${spring.version}


	org.springframework
	spring-beans
	${spring.version}


	org.springframework
	spring-expression
	${spring.version}


	org.springframework
	spring-context
	${spring.version}


	org.springframework
	spring-context-support
	${spring.version}


	org.springframework
	spring-jdbc
	${spring.version}


	org.springframework
	spring-test
	${spring.version}

 

(2)spring-mybatis依赖 

1.2.2

    org.mybatis
    mybatis-spring
    ${mybatis.spring.version}

 

(3) c3p0 

0.9.2
    
    com.mchange
    c3p0
    ${c3p0.version}

 


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

(1)spring总配置



	
	

 


(2)spring-data.xml配置: 



    
    
        
        
        
        
        
        
        
        
    

 

(3)spring-mybatis配置: 



    
        
        
        
        
        
        
        
    
    
    
        
    

 


(4)mybatis-config.xml配置: 




    
    
        
        
    

 

(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 clubList = clubDao.getAllClubs();
        if (clubList != null && !clubList.isEmpty()) {
            System.out.println("clubList size: " + clubList.size());
            for (Club club : clubList) {
                System.out.println(club);
            }
        }
    }
}

你可能感兴趣的:(spring,mybatis)