SSM (IDEA) —— Spring和MyBatis整合

一、官方教程

http://www.mybatis.org/spring/zh/index.html

二、创建Web项目

注意添加:archetypeCatalog(internal)

三、添加依赖包

项目主要依赖的jar包有Spring核心包、Spring AOP包、MyBatis包、MyBatis-Spring适配包、JSTL、JUnit、Log4j等,具体的pom.xml文件如下:

  
    UTF-8
    1.7
    1.7
    4.3.18.RELEASE
  
  
    
    
      junit
      junit
      4.12
      test
    
    
    
      log4j
      log4j
      1.2.17
    
    
    
      org.springframework
      spring-context
      ${spring.version}
    
    
    
      org.springframework
      spring-web
      ${spring.version}
    
    
    
      cglib
      cglib
      3.2.7
    
    
    
      org.aspectj
      aspectjrt
      1.8.6
    
    
      org.aspectj
      aspectjweaver
      1.8.5
    
    
    
      org.springframework
      spring-jdbc
      ${spring.version}
    
    
    
      org.glassfish.hk2.external
      javax.inject
      2.5.0-b62
    
    
    
      org.mybatis
      mybatis
      3.4.6
    
    
      org.slf4j
      slf4j-api
      1.7.25
    
    
      org.slf4j
      slf4j-log4j12
      1.7.25
      test
    
    
    
      com.github.pagehelper
      pagehelper
      5.1.4
    
    
    
      org.mybatis
      mybatis-spring
      1.3.2
    
    
    
      mysql
      mysql-connector-java
      5.1.46
    
    
    
      com.mchange
      c3p0
      0.9.5.2
    
    
    
      javax.servlet
      javax.servlet-api
      3.0.1
      provided
    
    
    
      javax.servlet
      jsp-api
      2.0
      provided
    
    
    
      javax.servlet
      jstl
      1.2
    
  

下 

    
      
        org.mybatis.generator
        mybatis-generator-maven-plugin
        1.3.7
        
          
          
            src/main/resources/generatorConfig.xml
          
          true
          true
        
        
          
            Generate MyBatis Artifacts
            
              generate
            
          
        
        
          
            org.mybatis.generator
            mybatis-generator-core
            1.3.7
          
        
      
    

四、MyBatis反向工程配置

1.generatorConfig.xml

在src/main/resources文件夹下增加generatorConfig.xml文件。




    
    
        
        
        
            
             
        

        
        
        

        
        
            
            
        

        
        
            
            
        

        
        
            
            
        

        
        

2.mybatis-generator-Config_1_0.dtd配置

3.创建相关的包(或者文件夹)

(1)在src/main/java下创建com.etc.entity包(实体类)和com.etc.dao包(dao接口)

(2)在src/main/resources下创建com/etc/dao文件夹(mapper.xml文件)

4.通过反向工程生成相关的代码

五、Spring整合MyBatis配置

在src/main/resources文件夹下新建以下文件:

1.新建db.properties文件,用于存放数据库连接信息

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/sharing_bicycle?useUnicode=true&characterEncoding=UTF-8
jdbc.username=root
jdbc.password=1234

2.新建log4j.properties文件,用于输出日志信息

#全局配置
log4j.rootLogger=ERROR,stdout

#MyBatis日志配置
log4j.logger.com.etc.dao=TRACE
log4j.logger.org.springframework.beans.factory=DEBUG


#控制台输出配置
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

3.新建mybatis-config.xml文件,对mybatis进行配置




    
        
        
    
    
    
        
    

4.新建 applicationContext.xml文件

该文件用于整合MyBatis与Spring,该文件是整个项目的控制中心。




    
    

    
    
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
    

    
    
        
        
        
        
        
        
        
        
    

    
    
        
        
        
        
    

    
    
        
            
            
            
            
            
        
    

    
        
        
    

    
    
        
    

    
    

    
    

    
    

五、创建Service接口和Service实现类

1.创建Service接口

2.创建Service实现类

六、加载Spring容器与获得容器对象

1.修改web.xml文件,添加加载Spring容器用的监听器



  Archetype Created Web Application
  
    contextConfigLocation
    classpath*:applicationContext.xml
  
  
  
    org.springframework.web.context.ContextLoaderListener
  

2.为了方便获得Spring容器实例,定义一个ContextUtils工具类

package com.etc.utils;

import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;

/**
 * Spring容器上下文工具类,用于获取当前的Spring容器
 * 实现了接口ApplicationContextAware且该类被Spring管理
 *则会自动调用setApplicationContext方法获取Spring容器对象
 */
@Component
public class ContextUtils implements ApplicationContextAware {
    private static ApplicationContext context;

    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        context = applicationContext;
    }

    public static Object getBean(String beanName){
        return context.getBean(beanName);
    }

    public static  T getBean(Class clazz){
        return  context.getBean(clazz);
    }

    public static  T getBean(String beanName,Class clazz){
        return  context.getBean(beanName,clazz);
    }
}

七、完成用户列表显示功能

1.创建控制器,并添加初始化ContextUtils工具类

	private UserService service;

	public void init() throws ServletException{
		super.init();
		this.service = ContextUtils.getBean(UserService.class);
	}

2.创建视图文件

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