【ssm整合教程】spring4.0.2+springMVC4.0.2+mybatis3.2.6集成

spring、springMVC和mybatis的集成




1、  关于三大框架的介绍我在这就不多说了,既然要学三大框架的集成,那说明已经掌握了他们各自的用法了并能够单独使用了,下面我来讲一下三大框架的集成

     1.1   其实ssm的集成比ssh的集成简单很多,spring和springMVC的无缝结合给我们省了很多配置,首先我们创一个web项目,我这里用的是myeclipes没有用maven搭建,然后导入项目所需jar包,关于jar的话,spring和springMVC并不需要额外的jar包,只需要额外加入mybatis-spring.jar包,该包由mybatis提供,关于jar包在此不做跟多的说明。

下面给出本项目所用的spring4.0.2的jar包下载连接:http://download.csdn.net/detail/hing2008/6940551

mybatis3.2.6+mybatis-spring1.2.2 的链接 :http://download.csdn.net/detail/aaa5438438/9586717


     1.2  首先我们在项目中配置如下目录结构,为了之后配置文件中配置和最后的测试, 再在项目中创建一个与src同级的包,在这个包下的文件在发布时也是在classes文件夹下和放在src目录下没有区别,这样做是为了方便配置,得到的结构如下图:

【ssm整合教程】spring4.0.2+springMVC4.0.2+mybatis3.2.6集成_第1张图片

图 1.1

2、  接下来我们要在在config包下书写配置文件

    2.1  首先我们先配置一下我们连接数据库所需文件,在config包下创建jdbc.properties文件如下图:


【ssm整合教程】spring4.0.2+springMVC4.0.2+mybatis3.2.6集成_第2张图片

图1.2

    2.2  然后我们创建一个springmvc.xml文件(三个框架整合没有它什么事,先配了再说),这个配置文件只负责生成各种handler,映射路径什么的,为了管理起来更加轻松我把spring和springmvc的配置文件都放在config/spring目录下




	
	
	
	
	
		
	
	
	    
     	  
            
          
            
          
            
    
       
	
	
		
		  
	
	
	

    2.2  然后我们来配一下spring和mybatis整合文件applicationContext-dao.xml





	
	
		
	

	
		
		
		
		
		
		
		
		
		
		
	

	
	
		
		
		
		
		
		
	

	
	
		
		
		
	


  2.3  然后我们在配一下事务的文件applicationContext-transaction.xml,这个文件其实可以和上面一个文件写在一起,为了跟简单的管理配置,我把他写开了



	
	
	
		
		
	
	
	

  2.4 下一步是配置业务层的文件applicationContext-services.xml,这个文件也可以直接写在applicationContext-dao.xml中,为了。。。。。同上



	
	

   2.5  最后我们再配置mybatis的配置文件sqlMapConfig.xml如果你在applicationContext-dao.xml中没有采用全局配置,这个文件就可以不用写,当然在这里我们还是要写的





	  
     
        
        
 
      

             自此我们三大框架集成所要配的容器文件配置完了,我们应该有如下目录结构

【ssm整合教程】spring4.0.2+springMVC4.0.2+mybatis3.2.6集成_第3张图片


 2.6   最后一步,在web.xml文件中配置spring和springmvc的容器,就是上面的那些配置文件

  
  
    Archetype Created Web Application  
    
      
      
        contextConfigLocation  
        /WEB-INF/classes/spring/applicationContext-*.xml  
        
      
      
        org.springframework.web.context.ContextLoaderListener  
      
      
      
        org.springframework.web.util.IntrospectorCleanupListener  
      
  
      
      
        SpringMVC  
        org.springframework.web.servlet.DispatcherServlet  
          
           contextConfigLocation
           classpath:spring/springmvc.xml  
          
        1  
        true  
      
      
        SpringMVC  
          
        /  
    
    
      
      
        encodingFilter  
        org.springframework.web.filter.CharacterEncodingFilter  
        true  
          
            encoding  
            UTF-8  
          
      
      
        encodingFilter  
        /*  
     
      
      
        /index.jsp  
      
  
  



好了,到这里我们是真的真的配完了。。。。

3、  测试集成是否成功

 3.1、 在数据库中创建表user_t

/*
Navicat MySQL Data Transfer

Source Server         : localhost_3306
Source Server Version : 50536
Source Host           : localhost:3306
Source Database       : ssm

Target Server Type    : MYSQL
Target Server Version : 50536
File Encoding         : 65001

Date: 2016-07-26 10:30:37
*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for user_t
-- ----------------------------
DROP TABLE IF EXISTS `user_t`;
CREATE TABLE `user_t` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_name` varchar(40) NOT NULL,
  `password` varchar(255) NOT NULL,
  `age` int(4) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=202 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of user_t
-- ----------------------------
INSERT INTO `user_t` VALUES ('2', '测试1', '123456', '18');
INSERT INTO `user_t` VALUES ('3', '测试1', '123456', '18');
INSERT INTO `user_t` VALUES ('4', '测试1', '123456', '18');
INSERT INTO `user_t` VALUES ('5', '测试1', '123456', '18');
INSERT INTO `user_t` VALUES ('6', '测试1', '123456', '18');
INSERT INTO `user_t` VALUES ('7', '测试1', '123456', '18');
INSERT INTO `user_t` VALUES ('8', '测试1', '123456', '18');
INSERT INTO `user_t` VALUES ('9', '测试1', '123456', '18');
INSERT INTO `user_t` VALUES ('10', '测试1', '123456', '18');


   3.2在com.ssm.pojo创建User类

package com.ssm.pojo;

public class User {
	private Integer userid;
	private String username;
	private String password;
	private Integer age;

	public Integer getUserid() {
		return userid;
	}
	public void setUserid(Integer userid) {
		this.userid = userid;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public Integer getAge() {
		return age;
	}
	public void setAge(Integer age) {
		this.age = age;
	}
	@Override
	public String toString() {
		return "User [userid=" + userid + ", username=" + username
				+ ", password=" + password + ", age=" + age + "]";
	}
	
}

    3.3 创建Usermapper.xml和UserDao接口

           UserMapper.xml





	
		
		
    	
    	
	
	
	

          UserDao.java
package com.ssm.dao;

import java.util.List;


import com.ssm.pojo.User;

public interface UserDao {
	public List getAll();
}

         3.3创建UserService 和UserServiceImp

           UserService.java

package com.ssm.service;

import java.util.List;


import com.ssm.pojo.User;

public interface UserService {
	public List getAll();
}

        UserServiceImp.java

package com.ssm.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.ssm.dao.UserDao;
import com.ssm.pojo.User;
import com.ssm.service.UserService;

@Service("userService")
public class UserServiceImpl implements UserService{
	@Autowired
	private UserDao userDao;
	@Override
	public List getAll() {
		// TODO Auto-generated method stub
		return userDao.getAll();
	}

}

     3.4 创建控制层UserController.java

package com.ssm.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import com.ssm.service.UserService;



@Controller
public class UserController {
        @Autowired
       private UserService userService;
	@RequestMapping("/getAll")
	public ModelAndView getAll(ModelAndView mv){
		mv.addObject("userList",  userService.getAll());
		mv.setViewName("list");
		return mv;
	}
}

 3.4在WEB-INF/jsps/下创建list.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>



      
    userList
    
  
  
  
  
      
          
          
          
          
      
    
        
            
            
            
            
        
       
  
ID用户名密码年龄
${user.userid}${user.username}${user.password}${user.age}

4、 测试,测试之前记得改下数据库密码,在地址栏输入:http://localhost:8080/ssmtest/getAll

若出现下图,恭喜

【ssm整合教程】spring4.0.2+springMVC4.0.2+mybatis3.2.6集成_第4张图片



若没有,继续努力吧,累死了。。。。。。


                                                                                        转载请注明出处:http://blog.csdn.net/aaa5438438



          


你可能感兴趣的:(ssm学习总结)