SSM 整合简单实现crud


    SSM 整合


    整合之前先看看各自的配置文件:

    
        Spring:Ioc控制反转、AOP面向切面。
    
            需配置web.xml(spring监听器、spring配置信息)、

            applicationContext.xml(数据库相关bean:dataSource、sessionFactory、transactionManager)


        SpringMVC:控制器,流程、页面显示的控制。

            需配置web.xml(dispatcherServlet分发器servlet的配置)、

            [servlet-name]-servlet.xml(配置自动扫描控制器,注解的启动,视图解析器)


        Mybatis:提供ORM服务,优秀的持久层框架。

            需配置mybatis.config.xml(配置数据库连接信息属性文件、数据源环境、实体类映射文件的路径)

            [entity-name]-mapper.xml(sql语句的映射)


    整合后配置文件:

            web.xml(spring监听器、spring+mybatis配置文件路径信息、dispatcherServlet分发器servlet)

            spring-mybatis.xml(结合applicationContext.xml和mybatis.config.xml)

            spring-mvc.xml(原[servlet-name]-servlet.xml,基本不变 可扩充)

            [entity-name]-mapper.xml(不变)

    配置文件的整合方法看了很多,其中最主要的是Spring对其他所有配置的bean管理。

 

1、项目目录如下:

SSM 整合简单实现crud_第1张图片

2、其中test、tool包测试用,可以不用。使用的实体类表如下:

package com.gan.model;

public class Student {
	
	private int sno;
	private String sname;
	private double score;

       get/set
}

3、spring-mybatis配置文件:

  
 
    
      
      
     
    
      
      
  
    
      
          
          
          
          
      
  
      
      
          
          
          
      
  
      
      
          
          
      
  
      
      
          
      
  
  

3、spring-mvc.xml配置文件

  
  
   
   
      
      
    
    
     
    
    
    
    
   	  
    
   		
   		
   
   
     
  


4、web.xml配置文件



   
  
  
    contextConfigLocation
    classpath:spring-mybatis.xml
  
  
  
  
    encodingFilter
    org.springframework.web.filter.CharacterEncodingFilter
    true
    
      encoding
      UTF-8
    
  
  
    encodingFilter
    /*
  
  
  
  
    org.springframework.web.context.ContextLoaderListener
  
  
  
  
    SpringMVC
    org.springframework.web.servlet.DispatcherServlet
    
      contextConfigLocation
      classpath:spring-mvc.xml
    
    1
  
  
    SpringMVC
    /
  
  
  
    /index.jsp
  
  


5、主页index.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="utf-8"%>




SSM crud


	
	
Student CURD

SSM 整合简单实现crud_第2张图片

 2  接下来是功能实现

(1)查找所有(show)

mapper包 

mapper接口方法

package com.gan.mapper;

import java.util.List;

import com.gan.model.Student;

public interface StudentMapper {

	public List getAllStudent();
	
}

mapper.xml配置sql映射





	


service包

service接口方法

package com.gan.service;

import java.util.List;

import com.gan.model.Student;

public interface InterStudentService {

	public List showStudentList();
	
}

service实现方法

package com.gan.service;

import java.util.List;

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

import com.gan.mapper.StudentMapper;
import com.gan.model.Student;

@Service
@Transactional
public class StudentServiceImpl implements InterStudentService {

	@Autowired(required=true)
	private StudentMapper studentDao;
	
	@Override
	public List showStudentList() {
		// TODO Auto-generated method stub
		return studentDao.getAllStudent();
	}

}

controller控制器

package com.gan.controller;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import com.gan.model.Student;
import com.gan.service.InterStudentService;

@Controller
public class StudentController {

	@Autowired(required=true)
	private InterStudentService service;
	
	@RequestMapping(value="/index",method=RequestMethod.GET)
	public String index(){
		return "index";
	}
	

	@RequestMapping(value="/show",method=RequestMethod.GET)
	public String getAllStudent(Model model){
		List stus=service.showStudentList();
		model.addAttribute("stus",stus);
		System.out.println(stus);
		return "show";
	}
	
		
}

show.jsp

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



  
    
    show

  
  
  
  

Student Info

sno sname score
${stu.sno} ${stu.sname} ${stu.score}
返回

SSM 整合简单实现crud_第3张图片

(2)添加(add)

mapper接口:

    public Student getStudentByID(int sno); //查找是否学号重复
    public int insertStudent(Student stu);

mapper映射:

   
    
        insert into student(sno,sname,score) values(#{sno},#{sname},#{score})
    

service接口:

    public boolean checkID(int sno);    
    public boolean addStudent(Student stu);

service实现:

@Override
	public boolean checkID(int sno) {
		if(studentDao.getStudentByID(sno)!=null)
			return true;
		return false;
	}

	@Override
	public boolean addStudent(Student stu) {
		if(studentDao.insertStudent(stu)!=0)
			return true;
		return false;
	}

controller方法:

/**
	 * @ add
	 * @return
	 */
	@RequestMapping(value="/add",method=RequestMethod.POST)
	public String add(@ModelAttribute("stu")Student stu,Model model){		
		if(service.checkID(stu.getSno())){
			model.addAttribute("message",stu.getSno()+"学号已有,添加失败!");
		}else{
			service.addStudent(stu);
			model.addAttribute("message",stu.getSno()+"添加成功!");
		}
		return "message";
	}

add.jsp添加页:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>



      
    add Student
  
  
    
    	
Student ADD
学号
姓名
分数
返回

message.xml结果信息页:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>



     
    Message
  
  
  
    

${message}

返回

SSM 整合简单实现crud_第4张图片

SSM 整合简单实现crud_第5张图片

 

(3)删除(delete)

mapper接口:

    public Student getStudentByID(int sno); //查找是否学号存在
    public int deleteStudent(int sno);

mapper映射:

   
    
        delete from student where sno=#{sno}
    

service接口:

    public boolean checkID(int sno);    
    public boolean deleteStudent(int sno);

service实现:

@Override
	public boolean deleteStudent(int sno) {
		if(studentDao.deleteStudent(sno)!=0)
			return true;
		return false;
	}

controller方法:

       /**
	 * @param delete
	 * @return
	 */
	@RequestMapping(value="/delete",method=RequestMethod.POST)
	public String getOneStudent(@RequestParam("sno")int sno,Model model){
		if(service.checkID(sno)){
			service.deleteStudent(sno);
			model.addAttribute("message",sno+"删除成功!");
		}else{
			model.addAttribute("message",sno+"没有该学号,删除失败!");
		}
		return "message";
		
	}

delete.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
 


      
    My JSP 'index.jsp' starting page
  
  
  
    
    	
    	
    	
    
     返回 
  

SSM 整合简单实现crud_第6张图片

SSM 整合简单实现crud_第7张图片

(4)修改(update)

mapper接口:

    public Student getStudentByID(int sno); //显示原本信息
    public int updateStudent(Student stu);
    public List selectAllSno();//用于下拉选择学号修改

mapper映射:

   
        update student set sname=#{sname},score=#{score} where sno=#{sno}
    

    
    
 
    
        
    

service接口:

    public Student getOneStudent(int sno);
    public boolean updateStudent(Student stu);
    public List getAllSno();

service实现:

      @Override
	public boolean updateStudent(Student stu) {
		if(studentDao.updateStudent(stu)!=0)
			return true;
		return false;
	}

	@Override
	public List getAllSno() {
		// TODO Auto-generated method stub
		return studentDao.selectAllSno();
	}

	@Override
	public Student getOneStudent(int sno) {
		// TODO Auto-generated method stub
		return studentDao.getStudentByID(sno);
	}

controller方法实现:

	
       //下拉显示学号
      @RequestMapping(value="/update",method=RequestMethod.GET)
	public String deletePage(Model model){
		Student student =new Student();
		Map snoList=new HashMap();
		List list=service.getAllSno();
		for(int i=0;i

update.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>


     
    add Student
  
  
  
  
  
    
    	
Student Update
学号
姓名
分数
返回

SSM 整合简单实现crud_第8张图片

SSM 整合简单实现crud_第9张图片                  

SSM 整合简单实现crud_第10张图片

SSM 整合简单实现crud_第11张图片

 

下载   戳这里

你可能感兴趣的:(SSM 整合简单实现crud)