小工具      在线工具  汉语词典  css  js  c++  java

ssm框架的简单案例

# Spring Boot,spring,mybatis,java 额外说明

收录于:158天前

学习了ssm框架后,我做了一个简单的案例,实现了简单的增删改查。

项目结构图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

看项目结构:
在这里插入图片描述
关键代码:

前端是JSP技术,当然也可以选择使用Vue分离。

订单页面:

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@page isELIgnored="false" %>
<%@include file="./common/head.jsp"%>

<div class="right">
       <div class="location">
           <strong>你现在所在的位置是:</strong>
           <span>订单管理页面</span>
       </div>
       <div class="search">
       <form method="get" action="${pageContext.request.contextPath }/jsp/bill.do">
			<input name="method" value="query" class="input-text" type="hidden">
			<span>商品名称:</span>
			<input name="queryProductName" type="text" value="${queryProductName }">
			 
			<span>供应商:</span>
			<select name="queryProviderId">
				<c:if test="${providerList != null }">
				   <option value="0">--请选择--</option>
				   <c:forEach var="provider" items="${providerList}">
				   		<option value="${provider}">${
    provider}</option>
				   </c:forEach>
				</c:if>
       		</select>
			 
			<span>是否付款:</span>
			<select name="queryIsPayment">
				<option value="0">--请选择--</option>
				<option value="1" ${
    queryIsPayment == 1 ? "selected=\"selected\"":"" }>未付款</option>
				<option value="2" ${
    queryIsPayment == 2 ? "selected=\"selected\"":"" }>已付款</option>

       		</select>
			
			 <input	value="查 询" type="submit" id="searchbutton">
			 <a href="${pageContext.request.contextPath }/billadd">添加订单</a>
		</form>
       </div>


       <!--账单表格 样式和供应商公用-->
      <table class="providerTable" cellpadding="0" cellspacing="0">
          <tr class="firstTr">
              <th width="10%">订单编码</th>
              <th width="20%">商品名称</th>
              <th width="10%">供应商</th>
              <th width="10%">订单金额</th>
              <th width="10%">是否付款</th>
              <th width="10%">创建时间</th>
              <th width="30%">操作</th>
          </tr>
          <c:forEach var="bill" items="${billList }" varStatus="status">
				<tr>
					<td>
					<span>${
    bill.billCode }</span>
					</td>
					<td>
					<span>${
    bill.productName }</span>
					</td>
					<td>
					<span>${
    bill.providerId}</span>
					</td>
					<td>
					<span>${
    bill.totalPrice}</span>
					</td>
					<td>
					<span>
						<c:if test="${bill.isPayment == 1}">未付款</c:if>
						<c:if test="${bill.isPayment == 2}">已付款</c:if>
					</span>
					</td>
					<td>
					<span>
					${
    bill.creationDate}
					</span>
					</td>
					<td>
					<span><a class="viewBill" href="${pageContext.request.contextPath }/billview?code=${bill.billCode}" billid=${
    bill.id } billcc=${
    bill.billCode }><img src="${pageContext.request.contextPath }/images/read.png" alt="查看" title="查看"/></a></span>
					<span><a class="modifyBill" href="${pageContext.request.contextPath }/billmodify?code=${bill.billCode}" billid=${
    bill.id } billcc=${
    bill.billCode }><img src="${pageContext.request.contextPath }/images/xiugai.png" alt="修改" title="修改"/></a></span>
					<span><a class="deleteBill" href="javascript:deleteBill();" billid=${
    bill.id } billcc=${
    bill.billCode }><img src="${pageContext.request.contextPath }/images/schu.png" alt="删除" title="删除"/></a></span>
					</td>
				</tr>
			</c:forEach>
      </table>
  </div>
</section>

<!--点击删除按钮后弹出的页面-->
<div class="zhezhao"></div>
<div class="remove" id="removeBi">
    <div class="removerChid">
        <h2>提示</h2>
        <div class="removeMain">
            <p>你确定要删除该订单吗?</p>
            <a href="#" id="yes">确定</a>
            <a href="#" id="no">取消</a>
        </div>
    </div>
</div>

<%@include file="./common/foot.jsp" %>
<script type="text/javascript" src="${pageContext.request.contextPath }/js/billlist.js"></script>

界面没有上面好看,框架是自己下载的。

供应商页面:

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

<div class="right">
        <div class="location">
            <strong>你现在所在的位置是:</strong>
            <span>供应商管理页面</span>
        </div>
        <div class="search">
        	<form method="get" action="${pageContext.request.contextPath }/provider.select">
				<input name="method" value="query" type="hidden">
				<span>供应商编码:</span>
				<input name="queryProCode" type="text" value="${queryProCode }">
				
				<span>供应商名称:</span>
				<input name="queryProName" type="text" value="${queryProName }">
				
				<input value="查 询" type="submit" id="searchbutton">
				<a href="${pageContext.request.contextPath }/jsp/provideradd.jsp">添加供应商</a>
			</form>
        </div>
        <!--供应商操作表格-->
        <table class="providerTable" cellpadding="0" cellspacing="0">
            <tr class="firstTr">
                <th width="10%">供应商编码</th>
                <th width="20%">供应商名称</th>
                <th width="10%">联系人</th>
                <th width="10%">联系电话</th>
                <th width="10%">传真</th>
                <th width="10%">创建时间</th>
                <th width="30%">操作</th>
            </tr>
            <c:forEach var="provider" items="${providerList }" varStatus="status">
				<tr>
					<td>
					<span>${provider.proCode }</span>
					</td>
					<td>
					<span>${provider.proName }</span>
					</td>
					<td>
					<span>${provider.proContact}</span>
					</td>
					<td>
					<span>${provider.proPhone}</span>
					</td>
					<td>
					<span>${provider.proFax}</span>
					</td>
					<td>
					<span>
					${provider.creationDate}
					</span>
					</td>
					<td>
					<span><a class="viewProvider" href="${pageContext.request.contextPath }/providerview?code=${provider.proCode}" proid=${provider.id } proname=${provider.proName }><img src="${pageContext.request.contextPath }/images/read.png" alt="查看" title="查看"/></a></span>
					<span><a class="modifyProvider" href="${pageContext.request.contextPath }/provideralter?code=${provider.proCode}" proid=${provider.id } proname=${provider.proName }><img src="${pageContext.request.contextPath }/images/xiugai.png" alt="修改" title="修改"/></a></span>
					<span><a class="deleteProvider" href="javascript:;" proid=${provider.id } proname=${provider.proName }><img src="${pageContext.request.contextPath }/images/schu.png" alt="删除" title="删除"/></a></span>
					</td>
				</tr>
			</c:forEach>
        </table>

    </div>
</section>

<!--点击删除按钮后弹出的页面-->
<div class="zhezhao"></div>
<div class="remove" id="removeProv">
   <div class="removerChid">
       <h2>提示</h2>
       <div class="removeMain" >
           <p>你确定要删除该供应商吗?</p>
           <a href="#" id="yes">确定</a>
           <a href="#" id="no">取消</a>
       </div>
   </div>
</div>

<%@include file="./common/foot.jsp" %>
<script type="text/javascript" src="${pageContext.request.contextPath }/js/providerlist.js"></script>

主要是前后端交互部分。控制器由弹簧容器控制。注意释放静态资源。

订单背景:

package cms.ssm.controller;

import cms.ssm.dao.BillMapper;
import cms.ssm.dao.ProviderMapper;
import cms.ssm.model.Bill;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.List;

@Controller
public class BillController {
    
    @Resource
    private BillMapper billMapper;

    @Resource
    private ProviderMapper providerMapper;

    @GetMapping("/bill")
    public String showBill(Model model){
    
        List<Bill> bills = billMapper.selectAll();
        List<String> list = providerMapper.selectProviderNames();
        model.addAttribute("billList",bills);
        model.addAttribute("providerList",list);
        return "/jsp/billlist.jsp";
    }

    @GetMapping("/billview")
    public String showOne(@RequestParam("code") String code,Model model){
    
        Bill bill = billMapper.selectByCode(code);
        model.addAttribute("bill",bill);
        return "/jsp/billview.jsp";
    }

    @GetMapping("/billmodify")
    public String alterBill(@RequestParam("code") String code,Model model){
    
        Bill bill = billMapper.selectByCode(code);
        List<String> list = providerMapper.selectProviderNames();
        model.addAttribute("bill",bill);
        model.addAttribute("provider",list);
        return "/jsp/billmodify.jsp";
    }

    @GetMapping(value = "/jsp/bill.do")
    public String select_more(@RequestParam("method") String method,@RequestParam("queryProductName") String queryProductName,@RequestParam("queryIsPayment") int queryIsPayment,Model model){
    
        List<Bill> billList = billMapper.selectMore("%"+queryProductName+"%", queryIsPayment);
        model.addAttribute("billList",billList);
        return "/jsp/billlist.jsp";
    }

    @GetMapping(value = "/billadd")
    public String billAdd(Model model){
    
        List<String> list = providerMapper.selectProviderNames();
        model.addAttribute("list",list);
        return "/jsp/billadd.jsp";
    }

    @RequestMapping(value = "/billadd.do", method = RequestMethod.GET)
    public void billAddColumn(@RequestParam("billCode") String billCode, @RequestParam("productName") String productName, @RequestParam("productCount") Double productCount,@RequestParam("productUnit") String productUnit,@RequestParam("providerId") int providerId){
    
        Bill bill =new Bill();
        bill.setBillCode(billCode);
        bill.setProductName(productName);
        bill.setProductCount(productCount);
        bill.setProductUnit(productUnit);
        bill.setProviderId(providerId);
        billMapper.insertOneBill(bill);
    }
}

供应商后台:

package cms.ssm.controller;

import cms.ssm.dao.ProviderMapper;
import cms.ssm.dao.UserMapper;
import cms.ssm.model.Provider;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.annotation.Resource;
import java.util.List;

@Controller
public class ProviderController {
    

    @Resource
    private ProviderMapper providerMapper;

// @Resource
// private UserMapper userMapper;

    @GetMapping(value = "/provider")
    public String showProviders(Model model){
    
        List<Provider> list= providerMapper.selectAll();
        //List<String> roles= userMapper.select_all_role();
        model.addAttribute("providerList",list);

        return "jsp/providerlist.jsp";
    }

    @GetMapping(value = "/providerview")
    public String providerView(@RequestParam("code") String code,Model model){
    
        Provider provider= providerMapper.selectById(code);
        model.addAttribute("provider",provider);
        return "/jsp/providerview.jsp";
    }

    @GetMapping(value = "/provideralter")
    public String providerAlter(@RequestParam("code") String code,Model model){
    
        Provider provider= providerMapper.selectById(code);
        model.addAttribute("provider",provider);
        return "/jsp/providermodify.jsp";
    }

    @GetMapping(value = "/provider.select")
    public String providerSelect(Model model,@RequestParam("queryProCode") String queryProCode,@RequestParam("queryProName") String queryProName){
    
        List<Provider> list = providerMapper.selectMore("%"+queryProCode+"%", "%"+queryProName+"%");
        model.addAttribute("providerList",list);
        return "/jsp/providerlist.jsp";
    }

    @GetMapping(value = "/provideradd.do")
    public String providerAdd(@RequestParam("proCode") String proCode,@RequestParam("proName") String proName,@RequestParam("proContact") String proContact,@RequestParam("proPhone") String proPhone,@RequestParam("proAddress") String proAddress,@RequestParam("proFax") String proFax,@RequestParam("proDesc") String proDesc){
    
        Provider provider = new Provider();
        provider.setProCode(proCode);
        provider.setProName(proName);
        provider.setProContact(proContact);
        provider.setProPhone(proPhone);
        provider.setProAddress(proAddress);
        provider.setProFax(proFax);
        provider.setProDesc(proDesc);

        providerMapper.insertOne(provider);

        return "/jsp/provideradd.jsp";
    }


    @GetMapping(value = "/provider.oparater")
    @ResponseBody
    public String providerOparater(@RequestParam("proid") int id){
    
        providerMapper.delById(id);
        String delResult = "true";
        return delResult;
        
    }

}

只引用了部分代码

. . .

相关推荐

额外说明

Linux内核升级

步骤 1:检查已安装的内核版本 uname -rs 步骤 2:升级内核 ELRepo,这是一个第三方仓库,可以将内核升级到最新版本。 在 CentOS 7 上启用 ELRepo 仓库,运行如下命令: #导入该源的秘钥 rpm --import https

额外说明

Python语法基础(六):字典

一.字典的定义 dictionary 是类似java中的Map的数据结构。 dict = { "张":'53页', '李':'86页'} print(dict) print(dict['张']) print(dict['李']) 输出: {

额外说明

QT在QLabel上实现超链接

QT 实现QLabel上的超链接 方法一: 一个简单的例子: Widget::Widget(QWidget *parent)     : QWidget(parent) {     QLabel* label = new QLabel("<a href 

额外说明

JDBC图书管理系统-vectorJH

JDBC图书管理系统-vectorJH 文章目录 JDBC图书管理系统-vectorJH 前言 一、MVC分包模式 2.GUI界面 1.初入界面 2.主界面 3.登录界面 4. 注册界面 5.管理员信息界面 6.管理员添加图书界面 7.管理员删除图书界面

额外说明

Apache服务的搭建与配置,虚拟主机(基于域名 基于端口 基于Ip)

 1.目前最主流的三个Web服务器是Apache、Nginx、 IIS。  2. WEB 服务应用层使用HTTP协议。 3.web服务器:apache nginx IIS  #端口全部为80!https为443端口 4.Apache是世界使用排名第一的W

额外说明

V4-06 单点登录下篇, 无数据库版(没完成)

接上: 总结逻辑(单点登录由来) 传统单体架构方式的会话是如何实现的Cookie session 传统单体架构方式的登录在分布式架构中有什么缺陷(Cookie的跨域 session的共享 分布式架构中的认证方式如何实现 1. (session数据持久化

额外说明

数据库系统--T-SQL数据查询功能-单表查询(超详细/设计/实验/作业/练习)

目录 课程名:数据库系统 内容/作用:设计/实验/作业/练习 学习:T-SQL数据查询功能-单表查询 一、前言 二、环境与设备 三、原理 四、内容 课程名:数据库系统 内容/作用:设计/实验/作业/练习 学习:T-SQL数据查询功能-单表查询 一、前言

额外说明

快速搭建JPA开发环境 (Eclipse+Maven+EclipseLink+MySQL)

本篇介绍如何在Windows快速搭建一个最简洁的JPA开发的环境。 开发工具: Eclipse JPA实现: EclipseLink 依赖管理工具:Maven 数据库 : MySQL EclipseLink 的历史 EclipseLink 是Java官方

额外说明

大数据学习笔记38:Hive - 内置函数(1)

文章目录 一、查看与描述 1、查看全部函数 2、查看函数的描述 二、运算 (一)数学运算 1、加法运算:+ 2、减法运算:- 3、乘法运算:* 4、除法运算:/ 5、求余运算:% 6、位运算:&、|、^、~ (二)关系运算 1、等于运算:= 2、大于运算

额外说明

算法刷题-插入区间、杨辉三角、移除链表元素

文章目录 插入区间 杨辉三角 移除链表元素 插入区间 给你一个** 无重叠的**_ ,_按照区间起始端点排序的区间列表。 在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。 示例 1: 输入:interva

ads via 小工具