SSM框架(一)--Spring和MyBatis整合(详细教程)

原文链接: https://yq.aliyun.com/articles/71398

一定要下载源码自己去琢磨,自己配置一遍

GitHub下载这个工程

谈到SSM,我在网上看了很多整合教程,我也跟着一起整合过,都有大大小小的问题,所以今天元旦假期,我就抽一上午写出我自己的教程,一是Spring和MyBatis的整合,二是加上SpringMVC,即SSM大功告成。

首先我得说一下我的版本(我觉得版本是次要的,只要你弄清楚配置文件的关系,即怎么配置配置文件,什么版本都一样,只是版本最大的问题我觉得是与jdk和tomcat这些有关)

MyBatis 3.2.7
Spring 3.2.0

再给大家数据库吧,我是MySQL,我把sql文件给你们,直接放数据库运行就可以。

SSM框架测试SQL

废话不多说,先谈谈mybatis和spring整合的思路

1、让spring管理SqlSessionFactory
2、让spring管理mapper对象和dao。
   使用spring和mybatis整合开发mapper代理及原始dao接口。
   自动开启事务,自动关闭 sqlsession.
3、让spring管理数据源( 数据库连接池)

在eclipse创建Java工程就行(还没到SpringMVC呢)

先看看目录结构图,因为我装了Spring的插件,所以项目会有个S。dao层是为了实现dao和Mapper两种不同的开发,也可以先忽略,config是资源文件夹。

SSM框架(一)--Spring和MyBatis整合(详细教程)_第1张图片

加入jar包

在这里就把所有jar包都一次给你,包括SpringMVC的。

mybatis与spring整合全部jar包(包括springmvc

1、mybatis3.2.7本身的jar包
2、数据库驱动包
3、spring3.2.0
4、spring和mybatis整合包
从mybatis的官方下载spring和mybatis整合包

log4j.properties这个也是Spring依赖的日志文件,大家如果需要自行下载工程查看哈。

重点(配置文件),别急着复制配置文件,因为具体的要看开发情况,先了解一下

SqlMapconfig.xml
mybatis配置文件:别名、settings,数据源不在这里配置(因为有了Spring来管理)


<configuration>

    
    <typeAliases>
        
        
        
        <package name="com.hust.springmybatis.po"/>

    typeAliases>

    <mappers>
        
        <mapper resource="sqlmap/User.xml" />
        <mapper resource="mapper/UserMapper.xml" />
    mappers>

configuration>

applicationContext.xml
1、数据源(dbcp连接池)(db.properties自行下载工程查看哈,再说这个一般人都会)
2、SqlSessionFactory
3、mapper或dao


<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"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd">

    
    <context:property-placeholder location="classpath:db.properties"/>

    
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
        destroy-method="close">
        <property name="driverClassName" value="${jdbc.driver}">property>
        <property name="url" value="${jdbc.url}">property>
        <property name="username" value="${jdbc.username}">property>
        <property name="password" value="${jdbc.password}">property>
        <property name="maxActive" value="10">property>
        <property name="maxIdle" value="5">property>
    bean>

    
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        
        <property name="dataSource" ref="dataSource">property>
        
        <property name="configLocation" value="classpath:mybatis/SqlMapConfig.xml">property>
    bean>

    <bean id="userDao" class="com.hust.springmybatis.dao.UserDaoImpl">
        <property name="sqlSessionFactory" ref="sqlSessionFactory">property>
    bean>

    
    

    
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        
        <property name="basePackage" value="com.hust.springmybatis.mapper">property>
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory">property>
    bean>
beans>

整合开发原始dao接口

配置SqlSessionFactory

在 applicationContext.xml配置SqlSessionFactory

SSM框架(一)--Spring和MyBatis整合(详细教程)_第2张图片

开发dao,这里就举findUserById这个例子

dao接口
SSM框架(一)--Spring和MyBatis整合(详细教程)_第3张图片

dao的实现类,在这儿调用配置文件配置的东西(test是配置文件的namespace)
SSM框架(一)--Spring和MyBatis整合(详细教程)_第4张图片

user.xml配置文件,这个id必须和dao里面的方法名一致
SSM框架(一)--Spring和MyBatis整合(详细教程)_第5张图片

最有别忘了去Spring的配置文件applicationContext.xml里面配置dao

SSM框架(一)--Spring和MyBatis整合(详细教程)_第6张图片

以上完成之后,就可以开始测试dao接口

SSM框架(一)--Spring和MyBatis整合(详细教程)_第7张图片

这样Dao的开发就大功告成,不过不要惊喜,我们还要实现Mapper的代理方法。

开发mapper.xml和mapper.java

一种是使用MapperFactoryBean,使用此方法对于每个mapper都需要配置,比较繁琐。所以我们使用第二种,MapperScannerConfigurer(扫描mapper)

在spring的配置文件配置扫描mapper

SSM框架(一)--Spring和MyBatis整合(详细教程)_第8张图片

开发mapper,还是以findUserById为例

UserMapper.java
SSM框架(一)--Spring和MyBatis整合(详细教程)_第9张图片

UserMapper.xml
SSM框架(一)--Spring和MyBatis整合(详细教程)_第10张图片

这个xml可以放在和UserMapper.java一个包里面,就会被Spring扫描到,这个工程,我是单独放在资源文件的mapper里面,所以得在在SqlMapConfig.xml里面配置

SSM框架(一)--Spring和MyBatis整合(详细教程)_第11张图片

测试mapper接口

SSM框架(一)--Spring和MyBatis整合(详细教程)_第12张图片

至此,Spring与MyBaits的整合与开发都可以了。

一定要下载源码自己去琢磨,自己配置一遍

GitHub下载这个工程

你可能感兴趣的:(SSM框架(一)--Spring和MyBatis整合(详细教程))