利用SSM实现一个简单的增删改查

利用springMVC实现一个简单的增删改查

//controller

package com.gg.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PutMapping;

import com.gg.entity.Customer;
import com.gg.service.CustomerService;

@Controller
public class CustomerController {
     
	@Autowired
     private CustomerService customerService;
	@GetMapping("/showAllCustomers")
     public String showAllCustomers(Model model) {
		
    	 model.addAttribute("customers", customerService.showAllCustomers());
    	 return "show";
    	 
     }
	
	@GetMapping("/removeCustomer/{cid}")
	
	public String removeCustomerByCid(@PathVariable String cid,Model model) {
		//System.out.println(cid);
		System.out.println(cid);
        int status=customerService.removeCustomerByCid(cid);	
        if(status!=1) {
        	model.addAttribute("msg", "删除失败!");
        	return "msg";
        }
        return "redirect:/showAllCustomers";
	}
	
	@GetMapping("/gotoReg")
	public String gotoReg() {
		return "res";
	}
	
	@GetMapping("/regCustomer")
	public String gotoReg(Customer customer,HttpServletRequest resuqest) throws Exception {
		String cname = customer.getCname();
		cname = new String(cname.getBytes("iso8859-1"),"utf-8");
		customer.setCname(cname);
		String cgender =customer.getCgender();
		cgender=new String(cgender.getBytes("ISO8859-1"),"UTF-8");
		customer.setCgender(cgender);
		customerService.insertCustomer(customer);	
		return "redirect:/showAllCustomers";
	}
	
	@GetMapping("/gotoUpdate/{cid}")
	public String gotoUpdate(@PathVariable String cid,HttpSession session,Model model) {
		//String cid=(String) request.getAttribute("cid");
		System.out.println(cid);
		Customer customer=customerService.selectCustomerByCid(cid);
		model.addAttribute("customers", customer);
		//session.setAttribute("customers", customer);
		return "update";
	}
	
	@PutMapping("/updateCustomer")
	public String updateCustomer(Customer customer,Model model) {
		String cid=customer.getCid();
		int status=customerService.updateCustomer(customer);
		if(status!=1) {
			model.addAttribute("mag", "update err");
			return "msg";
		}
		return "redirect:/showAllCustomers";
	}
	
}

///entity

package com.gg.entity;

public class Customer {
    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column customer.cid
     *
     * @mbggenerated Thu Mar 25 18:55:40 GMT+08:00 2021
     */
    private String cid;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column customer.cname
     *
     * @mbggenerated Thu Mar 25 18:55:40 GMT+08:00 2021
     */
    private String cname;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column customer.cage
     *
     * @mbggenerated Thu Mar 25 18:55:40 GMT+08:00 2021
     */
    private Integer cage;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column customer.cgender
     *
     * @mbggenerated Thu Mar 25 18:55:40 GMT+08:00 2021
     */
    private String cgender;

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column customer.cid
     *
     * @return the value of customer.cid
     *
     * @mbggenerated Thu Mar 25 18:55:40 GMT+08:00 2021
     */
    public String getCid() {
        return cid;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column customer.cid
     *
     * @param cid the value for customer.cid
     *
     * @mbggenerated Thu Mar 25 18:55:40 GMT+08:00 2021
     */
    public void setCid(String cid) {
        this.cid = cid == null ? null : cid.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column customer.cname
     *
     * @return the value of customer.cname
     *
     * @mbggenerated Thu Mar 25 18:55:40 GMT+08:00 2021
     */
    public String getCname() {
        return cname;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column customer.cname
     *
     * @param cname the value for customer.cname
     *
     * @mbggenerated Thu Mar 25 18:55:40 GMT+08:00 2021
     */
    public void setCname(String cname) {
        this.cname = cname == null ? null : cname.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column customer.cage
     *
     * @return the value of customer.cage
     *
     * @mbggenerated Thu Mar 25 18:55:40 GMT+08:00 2021
     */
    public Integer getCage() {
        return cage;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column customer.cage
     *
     * @param cage the value for customer.cage
     *
     * @mbggenerated Thu Mar 25 18:55:40 GMT+08:00 2021
     */
    public void setCage(Integer cage) {
        this.cage = cage;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column customer.cgender
     *
     * @return the value of customer.cgender
     *
     * @mbggenerated Thu Mar 25 18:55:40 GMT+08:00 2021
     */
    public String getCgender() {
        return cgender;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column customer.cgender
     *
     * @param cgender the value for customer.cgender
     *
     * @mbggenerated Thu Mar 25 18:55:40 GMT+08:00 2021
     */
    public void setCgender(String cgender) {
        this.cgender = cgender == null ? null : cgender.trim();
    }
}
package com.gg.service;

import java.util.List;

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

import com.gg.entity.Customer;
import com.gg.mapper.CustomerMapper;

@Service
public class CustomerService {
     @Autowired
     private CustomerMapper customerMapper;
     
      public List<Customer>  showAllCustomers() {
    	 return customerMapper.selectAll();
     }
      
      public int removeCustomerByCid(String cid) {
    	  return customerMapper.deleteByPrimaryKey(cid);
      }
      
      public int insertCustomer(Customer customer){
    	  return customerMapper.insert(customer);
      }

	public Customer selectCustomerByCid(String cid) {
		// TODO Auto-generated method stub
		return customerMapper.selectByPrimaryKey(cid);
	}
      
    public int updateCustomer(Customer customer) {
    	return customerMapper.updateByPrimaryKey(customer);
    }
}



package com.gg.mapper;

import com.gg.entity.Customer;
import java.util.List;

public interface CustomerMapper {
    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table customer
     *
     * @mbggenerated Thu Mar 25 18:55:40 GMT+08:00 2021
     */
    int deleteByPrimaryKey(String cid);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table customer
     *
     * @mbggenerated Thu Mar 25 18:55:40 GMT+08:00 2021
     */
    int insert(Customer customer);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table customer
     *
     * @mbggenerated Thu Mar 25 18:55:40 GMT+08:00 2021
     */
    Customer selectByPrimaryKey(String cid);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table customer
     *
     * @mbggenerated Thu Mar 25 18:55:40 GMT+08:00 2021
     */
    List<Customer> selectAll();

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table customer
     *
     * @mbggenerated Thu Mar 25 18:55:40 GMT+08:00 2021
     */
    int updateByPrimaryKey(Customer customer);
}

~~~xml
/
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.gg.mapper.CustomerMapper" >

  <resultMap id="BaseResultMap" type="com.gg.entity.Customer" >
    <!--
      WARNING - @mbggenerated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Thu Mar 25 18:55:40 GMT+08:00 2021.
    -->
    <id column="cid" property="cid" jdbcType="VARCHAR" />
    <result column="cname" property="cname" jdbcType="VARCHAR" />
    <result column="cage" property="cage" jdbcType="INTEGER" />
    <result column="cgender" property="cgender" jdbcType="VARCHAR" />
  </resultMap>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.String" >
    <!--
      WARNING - @mbggenerated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Thu Mar 25 18:55:40 GMT+08:00 2021.
    -->
    delete from customer
    where cid = #{cid,jdbcType=VARCHAR}
  </delete>
  <insert id="insert" parameterType="com.gg.entity.Customer" >
    <selectKey keyProperty="cid" order="BEFORE" resultType="string">
     select replace(uuid(),"-","") from dual
    </selectKey>
    insert into customer (cid,cname,cage,cgender)
    values (#{cid,jdbcType=VARCHAR}, #{cname,jdbcType=VARCHAR}, #{cage,jdbcType=INTEGER}, #{cgender,jdbcType=VARCHAR})
  </insert>
  <update id="updateByPrimaryKey" parameterType="com.gg.entity.Customer" >
    <!--
      WARNING - @mbggenerated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Thu Mar 25 18:55:40 GMT+08:00 2021.
    -->
    update customer
    set cname = #{cname,jdbcType=VARCHAR},
      cage = #{cage,jdbcType=INTEGER},
      cgender = #{cgender,jdbcType=VARCHAR}
    where cid = #{cid,jdbcType=VARCHAR}
  </update>
  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String" >
    <!--
      WARNING - @mbggenerated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Thu Mar 25 18:55:40 GMT+08:00 2021.
    -->
    select cid, cname, cage, cgender
    from customer
    where cid = #{cid,jdbcType=VARCHAR}
  </select>
  <select id="selectAll" resultMap="BaseResultMap" >
    <!--
      WARNING - @mbggenerated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Thu Mar 25 18:55:40 GMT+08:00 2021.
    -->
    select cid, cname, cage, cgender
    from customer
  </select>
</mapper>

///index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
  </head>
  
  <body>
    <a href="showAllCustomers">显示全部顾客</a>
    <a href="gotoReg">添加顾客</a>
  </body>
</html>


///更新
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    
    <title>My JSP 'res.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
  
    <form action="/homework2/updateCustomer"  method="post">
    <input type="hidden" name="_method" value="put"/>
    <input type="hidden" name="cid" value="${customers.cid }"/>
      姓名:<input type="text" name="cname" value="${customers.cname}"/><br/><br/>
         年龄:<input type="text" name="cage" value="${customers.cage }"/><br/><br/>
           性别
          
          男: <input type="radio" name="cgender" value="男"   <c:if test="${customers.cgender eq '男' }">checked="checked"</c:if>/>
         女: <input type="radio" name="cgender" value="女" <c:if test="${customers.cgender eq '女' }">checked="checked"</c:if>/> <br/><br/>
     <input type="submit"/>      
    </form>
  </body>
</html>

///显示
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head> 
    <title>My JSP 'show.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
  </head>
  
  <body>
    <table border="1" width="550" height="150">
      <tr>
         <td>编  号</td>
         <td>姓  名</td>
         <td>年龄</td>
         <td>性别</td>
         <td>修改</td>
         <td>删除</td>
      </tr>
      <c:forEach items="${customers}" var="customer">
      <tr>
          <td>${customer.cid }</td>
          <td>${customer.cname }</td>
          <td>${customer.cage }</td>
          <td>${customer.cgender }</td>
          <td><a href="gotoUpdate/${customer.cid}">修改</a></td>
          <td><a href="removeCustomer/${customer.cid}">删除</a></td>
      </tr>
      </c:forEach>
    </table>
 
  </body>
     
</html>


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


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    
    <title>My JSP 'res.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
    <form action="regCustomer"  method="get">
      姓名:<input type="text" name="cname"/><br/><br/>
         年龄:<input type="text" name="cage"/><br/><br/>
           性别
          男: <input type="radio" name="cgender" value="男"/>
         女: <input type="radio" name="cgender" value="女"/> <br/><br/>
     <input type="submit"/>      
    </form>
  </body>
</html>

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'msg.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
    ${msg}
  </body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值