Spring-SpringMVC-MyBatis 整合

一、maven项目的建立

1.pom.xml

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    4.0.0
    com.kin
    mybatis
    war
    0.0.1-SNAPSHOT
    mybatis Maven Webapp
    http://maven.apache.org
    
        
        4.0.2.RELEASE
        
        3.2.6
        
        1.7.7
        1.2.17
    

    
    
        
            com.oracle
            oracle6
            1.0.0
        

        
            junit
            junit
            4.11
            
            test
        

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

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

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

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

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

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

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

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

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

        
        
            org.mybatis
            mybatis
            ${mybatis.version}
        

        
        
            org.mybatis
            mybatis-spring
            1.2.2
        

        
        
            javax
            javaee-api
            7.0
        

        
        
            commons-dbcp
            commons-dbcp
            1.2.2
        

        
        
            jstl
            jstl
            1.2
        

        
        
        
            log4j
            log4j
            ${log4j.version}
        
    
        
        
            com.alibaba
            fastjson
            1.1.41
        

        
            org.slf4j
            slf4j-api
            ${slf4j.version}
        

        
            org.slf4j
            slf4j-log4j12
            ${slf4j.version}
        

        
        
        
            org.codehaus.jackson
            jackson-mapper-asl
            1.9.13
        

        
        
            commons-fileupload
            commons-fileupload
            1.3.1
        

        
            commons-io
            commons-io
            2.4
        

        
            commons-codec
            commons-codec
            1.9
        

    

    
        mybatis
    


 

2.整体结构

Spring-SpringMVC-MyBatis 整合_第1张图片

二、配置

bean-Student.java

package com.mybatis.bean;

public class Student {
    private Integer id;
    private String name;
    private Integer age;
    
    public Student() {
        super();
    }
    public Student(Integer id, String name, Integer age) {
        super();
        this.id = id;
        this.name = name;
        this.age = age;
    }
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Integer getAge() {
        return age;
    }
    public void setAge(Integer age) {
        this.age = age;
    }
    @Override
    public String toString() {
        return "Student [id=" + id + ", name=" + name + ", age=" + age + "]";
    }
    
}
 

 

dao-StudentMapper.java

package com.mybatis.dao;

import com.mybatis.bean.Student;

public interface StudentMapper {
    public Student selectStudent(Integer id);
    public void insetStudent(Student student);
}
 

 

dao-StudentMapper.jxml


  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

 
 
      insert into student values(#{id},#{name},#{age})
 

 

service-IStudentService.java

package com.mybatis.service;

import com.mybatis.bean.Student;

public interface IStudentService {
    public Student getStudent(int studentId);
}
 

service-StudentServiceImpl .java

package com.mybatis.service;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.mybatis.bean.Student;
import com.mybatis.dao.StudentMapper;

@Service("studentService")
public class StudentServiceImpl implements IStudentService{
    @Resource
    private StudentMapper studentMapper;
    @Override
    public Student getStudent(int studentId) {
        
        return studentMapper.selectStudent(studentId);
    }

}
 

 

controller-StudentController .java(ssm测试)

package com.mybatis.controller;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import com.mybatis.bean.Student;
import com.mybatis.service.IStudentService;

@Controller
@RequestMapping("/student")
public class StudentController {
        @Resource
        private IStudentService studentService;
        
        @RequestMapping("/showStudent")
        public String toIndex(HttpServletRequest request,Model model){
            int userId = Integer.parseInt(request.getParameter("id"));
            Student student = this.studentService.getStudent(userId);
            model.addAttribute("student", student);
            return "hello";
        }
}

util-MyLogger.java

package com.mybatis.util;

import java.util.Properties;

import org.apache.log4j.Logger;

public class MyLogger {

    private Logger logger;
    public MyLogger() {
        this.logger = Logger.getLogger(MyLogger.class);
    }

    public void init(Properties prop) {
        
    }

    public void debug(String msg) {
        logger.debug(msg);
    }

    public void info(String msg) {
        logger.info(msg);
    }

    public void warn(String msg) {
        logger.warn(msg);
    }

    public void error(String msg) {
        logger.error(msg);
    }

    public void fatal(String msg) {
        logger.fatal(msg);
    }

}
 

resources-jdbc.properties

driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
username=scott
password=tiger
initialSize=0
maxActive=20
maxIdle=20
minIdle=1
maxWait=60000

resources-log4j.properties

#log4j.rootLogger=DEBUG,A1,R
log4j.rootLogger=info,A1,R
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=bbscs7log.txt
log4j.appender.R.MaxFileSize=500KB
log4j.appender.R.MaxBackupIndex=10
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n

resources-spring-mvc.xml


    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="http://www.springframework.org/schema/beans  
                        http://www.springframework.org/schema/beans/spring-beans-3.1.xsd  
                        http://www.springframework.org/schema/context  
                        http://www.springframework.org/schema/context/spring-context-3.1.xsd  
                        http://www.springframework.org/schema/mvc  
                        http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
    
    
    
             class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
        
            
                text/html;charset=UTF-8
            

        

    

    
             class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
        
            
                    
            

        

    
    
    
        
        
    

    
    
             class="org.springframework.web.multipart.commons.CommonsMultipartResolver">  
       
         
       
         
       
         
   
 

resources-spring-mybatis.xml


    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="http://www.springframework.org/schema/beans  
                        http://www.springframework.org/schema/beans/spring-beans-3.1.xsd  
                        http://www.springframework.org/schema/context  
                        http://www.springframework.org/schema/context/spring-context-3.1.xsd  
                        http://www.springframework.org/schema/mvc  
                        http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
    
    
    
             class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        
    

             destroy-method="close">
        
        
        
        
        
        
        
        
        
        
        
        
        
        
    

    
    
        
        
        
    

    
    
        
        
    

    
             class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        
    

web-web.xml


    xmlns="http://java.sun.com/xml/ns/javaee"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    version="3.0">
    Archetype Created Web Application
    
    
        contextConfigLocation
        classpath:spring-mybatis.xml
    

    
    
        encodingFilter
        org.springframework.web.filter.CharacterEncodingFilter
        true
        
            encoding
            UTF-8
        

    

    
        encodingFilter
        /*
    

    
    
        org.springframework.web.context.ContextLoaderListener
    

    
    
        org.springframework.web.util.IntrospectorCleanupListener
    

    
    
        SpringMVC
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            classpath:spring-mvc.xml
        

        1
        true
    

    
        SpringMVC
        /
    

    
        /index.jsp
    

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


欢迎



jsp-hello.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" isELIgnored="false"%>




Insert title here


${student.name}

三、测试类

spring-mybatis整合测试

SpringMybatis.java

package com.mybatis.test;

import java.util.logging.Logger;

import javax.annotation.Resource;

import org.apache.ibatis.session.SqlSession;
import org.junit.Before;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.alibaba.fastjson.JSON;
import com.mybatis.bean.Student;
import com.mybatis.service.IStudentService;
import com.mybatis.util.MyLogger;

public class SpringMybatis {
    
    
    private static MyLogger logger = new MyLogger();
    private ApplicationContext ac = null;
    @Resource
    private IStudentService studentService = null;

    @Before
    public void before() {
        ac = new ClassPathXmlApplicationContext("spring-mybatis.xml");
        studentService = (IStudentService) ac.getBean("studentService");
    }

    @Test
    public void test1() {
        Student student = studentService.getStudent(1);
        System.out.println(student.getName());
        logger.info("值:"+student.getName());
        logger.info(JSON.toJSONString(student));
    }
}

 

你可能感兴趣的:(Spring-SpringMVC-MyBatis 整合)