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

ssm框架的简单案例

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

收录于:17天前

学习了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;
        
    }

}

只引用了部分代码

. . .

相关推荐

额外说明

java学习----hashCode的计算

一、常见类型的几个案例 class People{ } public class Test { public static void main(String[] args) { Integer a = 10; System.out.prin

额外说明

MySQL5.7并行复制

1、缘由: 某天看到主从复制延时的告警有点频繁,就想着是不是彻底可以解决一下。 一般主从复制,有三个线程参与,都是单线程:Binlog Dump(主) ----->IO Thread (从) -----> SQL Thread(从)。复制出现延迟一般出在

额外说明

python实例100第7例

题目:将一个列表的数据复制到另一个列表中。 程序分析:使用列表[:]。 程序源代码: #!/usr/bin/python # -*- coding: UTF-8 -*- a = [1, 2, 3] b = a[:] print (b) 以上实例输出结

额外说明

eclipse下载并安装

一、官网下载 1. 进入官网 下载链接:https://www.eclipse.org/downloads/ 2. 选择操作系统: 3. 开始下载: 4. 下载中: 5. 解压: 二、配置运行所需环境 其实就是JDK安装和系统变量配置,详细内容可以看我之

额外说明

影响软件架构的因素

论影响软件架构的因素 软件架构的必要性   我们的经验告诉我们,如果我们用非正式、随意的工程技术去开发高性能、高安全性以及高质量的软件系统,我们会遇到相当多的麻烦,这些技术用在开发过去低级或小型的系统是一种行之有效的技术,但是面对现在庞大而复杂的大型系统

额外说明

gitlab搭建与使用

前言 GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务 GitLab和GitHub一样属于第三方基于Git开发的作品,免费且开源(基于MIT协议),与Github类似,可注册用户,任意提交你的代

额外说明

Go代码包与引入:如何有效组织您的项目

目录 一、引言 二、代码包概述 基础定义 常用标准库包 三、创建代码包 文件结构 命名规则 公共与私有标识符 举例 五、包引入 基础包引入 批量引入 别名 Dot Import 匿名引入 初始化顺序 完整的引入声明语句形式 六、包的组织和管理 使用 go

额外说明

univocity-parsers 简介、中文文档、中英对照文档 下载

univocity-parsers 文档 下载链接(含jar包、源码、pom) 组件名称 中文-文档-下载链接 中英对照-文档-下载链接 univocity-parsers-2.5.9.jar univocity-parsers-2.5.9-API文档-

额外说明

【软考 系统架构设计师】嵌入式系统② 总线

>>回到总目录<< 为了不辜负已经订阅了专栏的同学们的信任,所以本专栏不会有任何的优惠活动。 另外,当订阅人数每次达到 2 n ( n > 2 ) 2^n(n>2) 2

额外说明

Windows系统因缺少msr2c.dll文件导致程序异常解决

其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个msr2c.dll文件(挑选

ads via 小工具