SSM框架基础整合

说明:这是我刚开始学SSM时候自己摸索的整合方式,我重新写了一个新的、比较流行的整合方式,建议两个都看看!

1.总的目录

SSM框架基础整合_第1张图片

 

2.导包(我直接导入了常用的,有些是多余的)

打包下载:链接:http://pan.baidu.com/s/1bpimPB5 密码:yphy

SSM框架基础整合_第2张图片

说明:画了框框的那两个包一定要导对版本,另外有个包名为commons-dbcp-dbcp2xxxxx.jar 的,跟上面的一个画框框中的一个很像,不要导错了。(后期加入:很多数据库连接池的包都可以,唯独commons-dbcp-dbcp2xxxxx.jar会报错)

 3.数据库表

CREATE TABLE USER(
id VARCHAR(20) PRIMARY KEY,
NAME VARCHAR(20),
job VARCHAR(20)
);

 

4.web.xml 

配置 springmvc 配置文件的位置,配置编码过滤器



  CRUD
  
    index.jsp
  
  
  
    
        springDispatcherServlet
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            classpath:spring-mvc.xml
        
        1
    

    
    
        springDispatcherServlet
        /
    
    
    
    
        encodingFilter
        org.springframework.web.filter.CharacterEncodingFilter
        
            encoding
            utf-8
        
    
    
        encodingFilter
        /*
    
    

 

 5.springmvc 配置文件 spring-mvc.xml

配置自动扫面的包(controller) 和 springMVC 视图解析器




    
    
    
        
        
    

 

 

6.spring 的配置文件 applicationContext.xml

  1>配置数据源(org.apache.commons.dbcp2.BasicDataSource),不要导错包

  2>配置 SqlSessionFaction,属性包括数据源和 mybatis 的 mapper 的文件位置

  3> 配置 mybatis 注解 ,用此注解来标识 mybatis 的接口方法,使得该接口注入到 Spring 的 IOC 容器中,并且该接口的方法与 mapper 的各种操作对应。




    
    
        
        
        
        
    
    
    
    
            
        
    
    
    
    
        
        
    

        

 

 

7. 建立 mybatis 注解接口 MyBatisRepository.java

 

package com.loger.annotation;

/**
 * Mybatis 使用该注解标识 DAO
 * @author Loger
 *
 */

public @interface MyBatisRepository {

}

 

8. 实体类 User.java

package com.loger.entity;

public class User {
    private String id;
    private String name;
    private String job;
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getJob() {
        return job;
    }
    public void setJob(String job) {
        this.job = job;
    }
    @Override
    public String toString() {
        return "User [id=" + id + ", name=" + name + ", job=" + job + "]";
    }
    public User(String id, String name, String job) {
        super();
        this.id = id;
        this.name = name;
        this.job = job;
    }
    public User() {
        super();
    }
    
}

 

 

 mybatis 的 mapper 文件 UserMapper.xml





    
    
    
    
    
        delete from user where id = #{id}
    
    
    
        insert into user(id,name,job) values (#{id},#{name},#{job})
    
    
    
        update user set name=#{name},job=#{job} where id=#{id}
    

 

 

对数据库操作的接口 UserDao.java

这个接口的方法名要与上面的 mapper 的对应 id 名一致 ,这个接口要用 mybatis 注解标识

package com.loger.dao;

import java.util.List;

import com.loger.annotation.MyBatisRepository;
import com.loger.entity.User;

@MyBatisRepository
public interface UserDao {
    List findAll();
    User findById(String  id);
    void deleteById(String  id);
    void addUser(User user);
    void updateUser(User user);
}

 

控制器 UserController.java

package com.loger.controller;

import java.io.IOException;
import java.util.List;

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

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import com.loger.dao.UserDao;
import com.loger.entity.User;

@Controller
@RequestMapping("/user")
public class UserController {
    ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
    UserDao dao = ctx.getBean(UserDao.class);
    
    @RequestMapping("/list")
    public String list(HttpServletRequest request){
        List list = dao.findAll();
        request.setAttribute("users", list);
        return "list";
    }
    
    @RequestMapping("/add")
    public String add(User user){
        dao.addUser(user);
        return "success";
    }
    
    @RequestMapping("/delete")
    public String delete(String id){
        dao.deleteById(id);
        return "success";
    }
    
    @RequestMapping("/get")
    public String get(String id,HttpServletRequest request) throws IOException{
        User user = dao.findById(id);
        request.setAttribute("user", user);
        return "show";
    }
    
    @RequestMapping("/update")
    public String update(User user){
        dao.updateUser(user);
        return "success";
    }
}

 

 

index.jsp

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




Insert title here


查询所有:
List All

新增:
ID:
NAME:
JOB:

删除:
输入要删除的ID:

查询:
输入要查询的ID:

修改:
根据ID来改,不支持修改ID,输入的名字,工作为修改值:
ID:
NAME:
JOB:

 

list.jsp (/WEB-INF/views/目录下的,包括下面几个JSP页面)

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>




Insert title here


    
            
ID NAME JOB
${user.id } ${user.name } ${user.job }

show.jsp

 

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




Insert title here


    
ID NAME JOB
${user.id } ${user.name } ${user.job }

返回

 

 success.jsp

 

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




Insert title here


    操作成功!
返回

运行效果:

 

首页:

SSM框架基础整合_第3张图片

 

点击List All

SSM框架基础整合_第4张图片

 

 增:

SSM框架基础整合_第5张图片

SSM框架基础整合_第6张图片

 

删:

SSM框架基础整合_第7张图片

 

查:

SSM框架基础整合_第8张图片

 

改:

SSM框架基础整合_第9张图片

SSM框架基础整合_第10张图片

 

源码下载:链接:http://pan.baidu.com/s/1slEUsHn 密码:op4l

 

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