SSM入门:Maven实现简单增删改查(一)

SSM(spring+springMVC+maybatis)

目前SSM作为后端最流行框架之一,在大学期间能够熟练搭建,并且理解该框架运作的具体流程是很有必要的,虽然网上相似教程数不胜数,不过我也记录一下具体流程操作,温故知新,加深对其框架的理解

一、基本概念

1.1spring

Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

1.2 springMVC

Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。

1.3 Mybatis

MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。MyBatis是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

二、IDEA创建Maven工程

(1)File—>>New Project
注:maven-archetype-webapp(一个简单的Java Web应用程序)
SSM入门:Maven实现简单增删改查(一)_第1张图片
(2)填写GroupId,ArtifactId
注:前期测试可以随意填写
SSM入门:Maven实现简单增删改查(一)_第2张图片
(3)配置Maven仓库
注:我这里配置了本地仓库,没有配置本地仓库的,可以默认配置,直接下一步
SSM入门:Maven实现简单增删改查(一)_第3张图片
(4)Finishe,在pom.xml添加依赖
注:spring使用4.0.2版本 mybatis使用3.2.6版本


    UTF-8
    1.7
    1.7
    
    4.0.2.RELEASE
    
    3.2.6
  

    
      junit
      junit
      4.11
      test
    
    
    
    
      org.springframework
      spring-core
      ${spring.version}
    
    
      org.springframework
      spring-beans
      ${spring.version}
    
    
      org.springframework
      spring-context
      ${spring.version}
    
    
      org.springframework
      spring-context-support
      ${spring.version}
    
    
    
      org.springframework
      spring-jdbc
      ${spring.version}
    
    
      org.springframework
      spring-tx
      ${spring.version}
    
    
    
      org.springframework
      spring-web
      ${spring.version}
    
    
      org.springframework
      spring-webmvc
      ${spring.version}
    
    
      org.springframework
      spring-test
      ${spring.version}
    
    
    
      javax.servlet
      javax.servlet-api
      3.0.1
      provided
    
    
      javax.servlet.jsp
      jsp-api
      2.2
      provided
    
    
      javax.servlet
      jstl
      1.2
    
    
      taglibs
      standard
      1.1.2
    
    
      com.fasterxml.jackson.core
      jackson-databind
      2.9.4
    
    
    
    
      mysql
      mysql-connector-java
      5.0.4
    
    
    
      com.mchange
      c3p0
      0.9.5.2
    
    
    
      org.mybatis
      mybatis
      ${mybatis.version}
    
    
    
      org.mybatis
      mybatis-spring
      1.3.1
    
    
    
    
      ch.qos.logback
      logback-classic
      1.1.1
    
  

配置web.xml



  ssmtest
  
    index.jsp
    index.html
  

  
    dispatcher
    org.springframework.web.servlet.DispatcherServlet
    
      contextConfigLocation
      classpath:spring/spring-*.xml
    
  
  
    dispatcher
    
    /
  
  
    encodingFilter
    
      org.springframework.web.filter.CharacterEncodingFilter
    
    
      encoding
      utf-8
    
  
  
    encodingFilter
    /*
  
  

(5)创建项目架构
注:
(1)java下是model(实体类),controller(控制层),service(逻辑层), dao(数据库层)
(2)resource资源包下,spring文件夹存放spring类配置文件,mapper文件夹存放实体类Mapper.xml
SSM入门:Maven实现简单增删改查(一)_第4张图片

三、SSM整合

jdbc.properties

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/ssmtest?useUnicode=true&characterEncoding=utf-8
name=root
password=123456

spring-mvc.xml
注:主要配置自动扫描控制器,视图模式,注解的启动这三个。




    
    
    
    
    
        
        
        
    

spring-batis.xml




    
    
        
    

    
        
        
        
        
    

    
    
        
        
        
        
        
        
        
    

    
    
        
        
    

    
    
    
    
        
    



mybatis-config.xml




    
    
        
        

        
        

        
        
    

配置Tomcat服务器
(1)
在这里插入图片描述
(2)
SSM入门:Maven实现简单增删改查(一)_第5张图片
(3)
SSM入门:Maven实现简单增删改查(一)_第6张图片
(4)
备注:注意是war exploded
在这里插入图片描述
最后Debug模式启动测试一下
SSM入门:Maven实现简单增删改查(一)_第7张图片

四、编写逻辑代码(实现增删改查)

此次小demo具体架构如下
SSM入门:Maven实现简单增删改查(一)_第8张图片
(1)实体类
User.java

package com.model;
public class User {
    private Integer id;
    private String name;
    private String password;
    private String position;
    //省略get、set方法
}

(2)service层接口与实现
UserService.java

package com.service;
import com.model.User;
import java.util.List;
public interface UserService {
   //添加用户
    int addUser(User user);
    //删除用户
    int delUserById(int id);
    //更新用户
    int updateUser(User user);
    //根据id查询用户
    User findById(int id);
    //查询所有用户
    List findAllUser();
}

UserServiceImpl.java

package com.service.impl;

import com.dao.UserDao;
import com.model.User;
import com.service.UserService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;

@Service
public class UserServiceImpl implements UserService {

    @Resource
    private UserDao userDao;

    public int addUser(User user){ return userDao.addUser(user);}
    public int delUserById(int id){return userDao.delUserById(id);}
    public int updateUser(User user){return userDao.updateUser(user);}
    public User findById(int id){return userDao.findById(id);}
    public List findAllUser(){return userDao.findAllUser();}
}

(3)dao层实现
UserDao.java

package com.dao;

import com.model.User;
import java.util.List;

public interface UserDao {
    int addUser(User user);
    int delUserById(int id);
    int updateUser(User user);
    User findById(int id);
    List findAllUser();
}

(4)mapper实现dao层方法
UserMapper.xml




    
        
        
        
        
    

    
    
        INSERT INTO user(id,name,password,position)
        VALUE (#{id},#{name},#{password},#{position})
    
    
        DELETE FROM USER
        WHERE id=#{id}
    
    
    
        UPDATE user
        SET name= #{name},password= #{password},position= #{position}
        WHERE id= #{id}


(5)控制层controller实现

package com.controller;

import com.model.User;
import com.service.UserService;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.annotation.Resource;
import java.util.List;


@Controller
@RequestMapping("/user")
public class UserController {
    //创建userService的Bean实例
    @Resource
    private UserService userService;
    
    //跳转到main主页面
    @RequestMapping("/main")
    public String tomain(){return "main";}
    //跳转到增加用户页面
    @RequestMapping("/toAddUser")
    public String toAddUser(){return "addUser";}
 
    //查询所有用户
    @RequestMapping("/allUser")
    public String AllUser(Model model){
        Listlist=userService.findAllUser();
        model.addAttribute("userList",list);
        return "main";
    }
    //添加新用户
    @RequestMapping("/addUser")
    public String AddUser(User user){
        userService.addUser(user);
        return "main";
    }
    //删除用户
    @RequestMapping("/delUser/{delid}")
    public String DelUser(@PathVariable("delid") Integer id){
        userService.delUserById(id);
        return "main";
    }
    //跳转到更新用户页面
    @RequestMapping("/toupdateUser")
    public String toUpdateUser(Model model,Integer id){
        model.addAttribute("user",userService.findById(id));
        return "updateUser";
    }
    //更新用户
    @RequestMapping("/updateUser")
    public String UpdateUser(User user){
        userService.updateUser(user);
        return "main";
    }
}

(6)前端jsp页面
index.jsp

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



    首页
    


基于SSM框架的管理系统:简单实现增、删、改、查。



点击进入管理页面

main.jsp主页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8" isELIgnored="false"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<% String appPath = request.getContextPath(); %>


    user
    
    
    


用户ID 用户名字 用户密码 职位 操作
${user.id} ${user.name} ${user.password} ${user.position} 更改 | 删除

addUser.jsp新增用户页面

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


    新增用户
    
    
    


基于SSM框架的管理系统:简单实现增、删、改、查。

用户名字:


用户密码:


用户职位:


update.jsp更新用户页面

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


    修改用户
    
    
    


用户名字: 用户密码: 用户职位:

五、测试demo

SSM入门:Maven实现简单增删改查(一)_第9张图片
SSM入门:Maven实现简单增删改查(一)_第10张图片
SSM入门:Maven实现简单增删改查(一)_第11张图片
SSM入门:Maven实现简单增删改查(一)_第12张图片
SSM入门:Maven实现简单增删改查(一)_第13张图片
简单的增删改查小demo完成

你可能感兴趣的:(SSM)