mybatis和spring整合——(mapper代理方式)

1.整合思路

需要spring通过单例方式管理SqlSessionFactory
spring和mybatis整合生成代理对象,使用SqlSessionFactory创建SqlSession。(spring和mybatis整合自动完成)
持久层的mapper都需要由spring进行管理。

mybatis和spring整合——(mapper代理方式)_第1张图片
mybatis和spring整合(mapper代理)

2.整合环境:

1.包的管理

pom.xml


    
        eu-dss
        com.eu.dss
        1.0-SNAPSHOT
    
    4.0.0
    dss-manage
    war
    dss-manage Maven Webapp
    http://maven.apache.org
    

        
        
            mysql
            mysql-connector-java
            5.1.18
        
        
        
            c3p0
            c3p0
            0.9.1.2
        

        
        
            javax.servlet
            javax.servlet-api
            3.0.1
            provided
        
        
            javax.servlet.jsp
            jsp-api
            2.2
            provided
        
        
            jstl
            jstl
            1.2
        
        
            taglibs
            standard
            1.1.2
        

        
        
            junit
            junit
            3.8.1
            test
        

        
        
            net.sf.json-lib
            json-lib
            2.4
            jdk15
        

        
        
        
            org.springframework
            spring-core
            4.1.7.RELEASE
        
        
            org.springframework
            spring-beans
            4.1.7.RELEASE
        
        
            org.springframework
            spring-context
            4.1.7.RELEASE
        
        
        
            org.springframework
            spring-jdbc
            4.1.7.RELEASE
        
        
            org.springframework
            spring-tx
            4.1.7.RELEASE
        
        
        
            org.springframework
            spring-web
            4.1.7.RELEASE
        
        
            org.springframework
            spring-webmvc
            4.1.7.RELEASE
        
        
            org.aspectj
            aspectjweaver
            1.8.6
        
        
        
            org.springframework
            spring-test
            4.1.7.RELEASE
        

        
        
            org.mybatis
            mybatis
            3.3.0
        
        
            org.mybatis
            mybatis-spring
            1.2.3
        

        
        
            cglib
            cglib
            2.2
        
        
            asm
            asm
            3.3.1
        

        
        
            org.slf4j
            slf4j-api
            1.7.5
        
        
            org.slf4j
            slf4j-log4j12
            1.7.12
        
        
            log4j
            log4j
            1.2.17
        

    
    
        dss-manage
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                
                    1.5
                    1.5
                
            
        
    


mybatis和spring整合——(mapper代理方式)_第2张图片

2.文件结构:

mybatis和spring整合——(mapper代理方式)_第3张图片

3.sqlSessionFactory

在applicationContext.xml配置sqlSessionFactory和数据源

applicationContext.xml





    
    
    
    
        
        
        
        
        

        
        
        
        
        
        
        
        
        
    


    
    
        
        
        
        
     


    
    
        
        
        
        
    
    
    
        
        
    

    
    
    

注:MapperFactoryBean 需要针对每个mapper进行配置,麻烦。
通过MapperScannerConfigurer进行mapper扫描(建议使用)



    
    
    


UserDao.java

package com.eu.dss.dao;

import com.eu.dss.entity.UserBean;

import java.util.List;

/**
 * Created by 马欢欢 on 2017/5/24.
 */
public interface UserDao {
    /**
     *登录
     */
    List login(UserBean userBean);

    /**
     * 注册
     */
    void register(UserBean userBean);

    /**
     * 校验用户名是否存在
     */
    int verify(String username);

}

UserDao.xml




   
   


测试类:

package com.eu.dss.Test;


import com.eu.dss.dao.UserDao;
import com.eu.dss.entity.UserBean;
import org.junit.Before;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import java.util.List;

/**
 * Created by 马欢欢  on 17-7-3.
 */
public class Testspring {
    private ApplicationContext applicationContext;

    @Before
    public void setUp()throws Exception{
        applicationContext = new ClassPathXmlApplicationContext("classpath:spring/applicationContext.xml");
    }
    @Test
    public void testLogin() throws  Exception{
        UserDao userDao = (UserDao) applicationContext.getBean("userMapper");
        UserBean userBean1 = new UserBean();
        userBean1.setUsername("admin");
        userBean1.setPassword("admin");
        List userBean = userDao.login(userBean1);
        System.out.println(userBean);
    }
}

mybatis和spring整合——(mapper代理方式)_第4张图片

上一篇:mybatis高级映射——(延迟加载)

文集:mybatis框架学习

你可能感兴趣的:(mybatis和spring整合——(mapper代理方式))