SSM(Spring+SpringMVC+MyBatis)整合

目录

1、提出问题

2、解决问题

3、相关文件


1、提出问题

SSM(Spring+SpringMVC+MyBatis)的开发,MyBatis在没有与Spring和SpringMVC整合的时候,是单独使用,单独配置。

Spring和SpringMVC的整合是无缝衔接的,因为是同生态,非常顺滑甚至“无所察觉”。

MyBatis整合前存在的问题是,部分代码过于"冗余":

SSM(Spring+SpringMVC+MyBatis)整合_第1张图片

两个问题:

每次都要编写session工厂的代码

事务控制

解决方式:

将Session工厂交给Spring容器管理,从容器中获得执行操作的Mapper实例。

将事务的控制交给Spring容器进行声明式事务控制

2、解决问题

配置applicationContext.xml:

SSM(Spring+SpringMVC+MyBatis)整合_第2张图片

这里的Mapper扫描,扫的是mapper的接口,由Spring自动创建接口的实现类。

编写测试代码:

SSM(Spring+SpringMVC+MyBatis)整合_第3张图片

只需要传入接口,spring容器会自动注入实现类。

这一步注入,就等价于之前的:

new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream("mybatis-config.xml")).openSession().getMapper(UserProxyDao.class);

3、相关文件

applicationContext.xml:




    
    
    

    
    
        
        
        
        
    
    
    
        
        
    
    
    
        
    

mybatis-config.xml:




    
    
        
    

    
    
        
            
            
        
    

    

        


    

pom.xml:



    4.0.0

    org.example
    mybatis
    1.0-SNAPSHOT
    war

    
        11
        11
    

    
        
        
            org.springframework
            spring-context
            5.0.5.RELEASE
        
        
            org.springframework
            spring-jdbc
            5.0.5.RELEASE
        
        
            org.springframework
            spring-test
            5.0.5.RELEASE
        
        
        
            org.mybatis
            mybatis
            3.4.5
        
        
            org.mybatis
            mybatis-spring
            1.3.1
        
        
            mysql
            mysql-connector-java
            5.1.32
        
        
            c3p0
            c3p0
            0.9.1.2
        
        
            junit
            junit
            4.12
        
        
            com.github.pagehelper
            pagehelper
            3.7.5
        
        
            com.github.jsqlparser
            jsqlparser
            0.9.1
        
    

你可能感兴趣的:(JavaEE,java,开发语言,SSM,spring,mybatis,spring,mvc,java-ee)