IDEA+Maven+ssm搭建一个用户增删改查项目

今天我用IDEA完成了一个Maven+ssm用户增删改查的小项目,在搭建过程中也遇到一些小问题,不过最终都解决了,我觉得我今天的总结很适合新手阅读,可能会对你们遇到的问题有些帮助。下面我将我的实现步骤讲一下。
一.首先按照我上篇博客的过程搭建以下框架。
IDEA+Maven+ssm搭建一个用户增删改查项目_第1张图片
2.然后在pom.xml中配置需要用到的架包。


    
    
      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
    

    
    
      mysql
      mysql-connector-java
      5.1.30
    
    
    
      commons-dbcp
      commons-dbcp
      1.2.2
    
    
    
      jstl
      jstl
      1.2
    
    
    
    
      log4j
      log4j
      ${log4j.version}
    


    
    
      com.mchange
      c3p0
      ${c3p0.version}
    

    
      taglibs
      standard
      ${taglibs.version}
    

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

    
    
      javax.servlet
      javax.servlet-api
      3.1.0
      provided
    
    
    
      javax.servlet.jsp
      javax.servlet.jsp-api
      2.3.1
      provided
    

2.数据库配置

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/idea
jdbc.username=root
jdbc.password=123

3.配置打印日志文件

# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

4.applicationContext的配置



    
    

    
    
        
        
        
        
        
        
    

    
    
        
        
        
        

        
        

    

    
    
    
        
        
        
        
    



    
    


    
    
    
        
    
    
    


5.写页面
adduser.jsp

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



    新增用户
    
    
    


用  户  id:


用户姓名:


用户密码:


alluser.jsp

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



    新增用户
    
    
    


用  户  id:


用户姓名:


用户密码:


updateUser.jsp

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


    修改论文
    
    
    


用户姓名: 用户密码:

6.写Dao,Service,Controller层,其中Controller层核心代码如下:

package com.whut.controller;

import com.whut.bean.UserInfo;
import com.whut.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import java.util.List;
@Controller
@RequestMapping("user")
public class UserController {
    @Autowired
    private IUserService service;
    @RequestMapping("/findAll.do")
    public ModelAndView findAll(){
        ListuserInfos=service.findAll();
        ModelAndView mv=new ModelAndView();
        mv.addObject("userInfos",userInfos);
        mv.setViewName("allUser");
        return mv;
    }
    @RequestMapping("/add.do")
    public ModelAndView add()
    {
        ModelAndView mv=new ModelAndView();
        mv.setViewName("addUser");
        return mv;
    }
    @RequestMapping("/save.do")  
    public String save(UserInfo user){
        service.addU(user);
        return "redirect:/user/findAll.do";

    }
    @RequestMapping("/toUpdate.do")
    public String toUpdatePaper(Model model,int id) {
        model.addAttribute("userInfo",service.searchUser(id));
        return "updateUser";
    }


    @RequestMapping("update.do")
    public String update(UserInfo user) {
        service.updateU(user);
        return "redirect:/user/findAll.do";
    }

    @RequestMapping("delete.do")
    public String delete(int id) {
        service.deletebyId(id);
        return "redirect:/user/findAll.do";
    }
}

7.mapper配置

?xml version="1.0" encoding="UTF-8" ?>


  
    
    
     insert into userinfo(username,password) values(#{username},#{password})
  
  
      update userinfo set username=#{username},password=#{password} where id=#{id}
  
  
          delete from userinfo where id=#{id}
 
  

二.讲一下我的理解
1.首先在前端界面的点击事件会发出一个请求,比如添加请求
在这里插入图片描述
请求发送后会由DispatcherServlet拦截,拦截的url形式在web.xml配置
IDEA+Maven+ssm搭建一个用户增删改查项目_第2张图片
2.拦截后会进入controllor层进行映射,例如
IDEA+Maven+ssm搭建一个用户增删改查项目_第3张图片
3.映射后会进入函数处理,调用service层函数。由前端传的数据进入后台,可以直接在controller层直接处理传过来的数据,如:下面前端页面传送id,可以直接在其所映射的处理函数toUpdate的定义名字相同的参数值,就可以进行处理。(注意名字要相同,比如图中都为"id")
在这里插入图片描述
IDEA+Maven+ssm搭建一个用户增删改查项目_第4张图片
也可以写成对象形式,因为前端传递的数据会自动封装到你写的实体类的对象。
在这里插入图片描述
注意前端页面传数据的name属性要跟实体类的定义的数据名要一直,如
IDEA+Maven+ssm搭建一个用户增删改查项目_第5张图片
IDEA+Maven+ssm搭建一个用户增删改查项目_第6张图片
4.另外Dao层的函数名要跟mapper配置文件的id的值要相同才行。如下图
IDEA+Maven+ssm搭建一个用户增删改查项目_第7张图片
IDEA+Maven+ssm搭建一个用户增删改查项目_第8张图片
这样简单的增删改查项目就完成了。

你可能感兴趣的:(IDEA+Maven+ssm搭建一个用户增删改查项目)