项目总结-新增商品-Pagehelper插件分页查询

news2024/9/23 13:19:03

(1)新增商品

工具类:

/**  
* @Title: FileUtils.java  
* @Package com.qfedu.common.utils  
* @Description: TODO(用一句话描述该文件做什么)  
* @author Feri 
* @date 2018年5月29日  
* @version V1.0  
*/  
package com.gdsdxy.common.utils;

import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.UUID;

/**  
* @Title: FileUtils.java  
* @Package com.qfedu.common.utils  
* @Description: TODO(用一句话描述该文件做什么)  
* @author Feri  
* @date 2018年5月29日  
* @version V1.0  
* 文件工具类
*/
public class FileUtils {
	
	//创建文件夹 一个月一个文件夹
	public static File createDir(String dir) {
		//子文件名称:201805 201806
		String month=new SimpleDateFormat("yyyyMM").format(new Date());
		File dir1=new File(new File(dir).getParent(),"fmwimages");
		File dir2=new File(dir1,month) ;
		if(!dir2.exists()) {
			dir2.mkdirs();
		}
		return dir2;
	}
	//创建唯一名称 
	public static String createFileName(String fn) {
		if(fn.length()>30) {
			fn=fn.substring(fn.length()-30);
		}
		return UUID.randomUUID().toString()+"_"+fn;
	}
	

}

Controller:

Service:

实现类:

Dao:

insert into t_goods(name,price,pubdate,typeName,intro,picture,flag,star,num) values(#{name},#{price},#{pubdate},#{typeName},#{intro},#{picture},1,#{star},#{num})
//新增
	@Insert("insert into t_goods(name,price,pubdate,typeName,intro,picture,flag,star,num) values(#{name},#{price},#{pubdate},#{typeName},#{intro},#{picture},1,#{star},#{num})")
	public int save(Goods goods);

(2)分页查询-Pagehelper插件

 

Controller:

OrderService:

实现类 

OrderDao: 

显示页面:

<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>HITECH-订单管理</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="${pageContext.request.contextPath }/css/bootstrap.min.css">
<script src="${pageContext.request.contextPath }/js/jquery.min.js"></script>
<script src="${pageContext.request.contextPath }/js/bootstrap.min.js"></script>
<script type="text/javascript">
	function sendOrder(id){
		location.href = "${pageContext.request.contextPath}/sendOrder?oid="+id;
	}
	$(function(){
		$("#search").click(function(){
			var username = $("input[name='username']").val();
			var status = $("select[name='orderStatus'] option:selected").val();
			location.href="${pageContext.request.contextPath}/selectOrderByNameAndFlag?username="+username+"&status="+status;
		})
	})
</script>
</head>
<body>
<div class="row" style="width:100%;margin-left: 1%;margin-top: 5px;">
	<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
		<div class="panel panel-default">
			<div class="panel-heading">
				订单管理
			</div>
			<div class="panel-body">
				<div class="row">
					<div class="col-xs-5 col-sm-5 col-md-5 col-lg-5">
						<div class="form-group form-inline">
							<span>用户姓名</span>
							<input type="text" name="username" class="form-control">
						</div>
					</div>
					<div class="col-xs-5 col-sm-5 col-md-5 col-lg-5">
						<div class="form-group form-inline">
							<span>订单状态</span>
							<select name="orderStatus" class="form-control">
								<option value="0">----------</option>
								<option value="1">未支付</option>
								<option value="2">已支付,待发货</option>
								<option value="3">已发货,待收货</option>
								<option value="4">已收货,未评价</option>
								<option value="5">完成订单</option>
							</select>
						</div>
					</div>
					<div class="col-xs-2 col-sm-2 col-md-2 col-lg-2">
						<button type="button" class="btn btn-primary" id="search"><span class="glyphicon glyphicon-search"></span></button>
					</div>
				</div>
				<table id="tb_list" class="table table-striped table-hover table-bordered">
					<tr>
						<td>序号</td>
						<td>订单编号</td>
						<td>总金额</td>
						<td>订单状态</td>
						<td>订单时间</td>
						<td>用户姓名</td>
						<td>操作</td>
					</tr>
					<c:forEach items="${orders}" var="order" varStatus="i">
					<tr>
						<td>${i.count}</td>
						<td>${order.id}</td>
						<td>${order.money}</td>
						<td>
							<c:if test="${order.flag eq 1}">
								未支付
							</c:if>
							<c:if test="${order.flag eq 2}">
								已支付,待发货
							</c:if>
							<c:if test="${order.flag eq 3}">
								已发货,待收货
							</c:if>
							<c:if test="${order.flag eq 4}">
								已收货,未评价
							</c:if>
							<c:if test="${order.flag eq 5}">
								订单完成
							</c:if>
						</td>
						<td>${order.createtime}</td>
						<td>${order.username}</td>
						<td>
							<c:if test="${order.flag eq 2}">
								<button type="button" class="btn btn-danger btn-sm" onclick="sendOrder('${order.id}')">发货</button>
							</c:if>
						</td>
					</tr>
					</c:forEach>
				</table>
			</div>
		</div>
	</div>
	<div>
		<p>
			每页${page.pageSize}条 当前页${page.size}条 ${page.pageNum}/${page.pages}页 总条数${page.total}
		</p>
		<c:if test="${page.isFirstPage==true}"><a>首页</a></c:if>
		<c:if test="${page.isFirstPage==false}">
			<a href="${pageContext.request.contextPath}/getAllOrder?page=${page.firstPage}">首页</a>
		</c:if>
		<c:if test="${page.hasPreviousPage==true}">
			<a href="${pageContext.request.contextPath}/getAllOrder?page=${page.prePage}">上一页</a>
		</c:if>
		<c:if test="${page.hasPreviousPage==false}"><a>上一页</a></c:if>

		<c:if test="${page.hasNextPage==true}">
			<a href="${pageContext.request.contextPath}/getAllOrder?page=${page.nextPage}">下一页</a>
		</c:if>
		<c:if test="${page.hasNextPage==false}"><a>下一页</a></c:if>

		<c:if test="${page.isLastPage==true}"><a>末页</a></c:if>
		<c:if test="${page.isLastPage==false}">
			<a href="${pageContext.request.contextPath}/getAllOrder?page=${page.lastPage}">末页</a>
		</c:if>
	</div>
</div>
</body>
</html>

根据条件查询:

Controller:

OrderService:

实现类:

 OrderDao

//根据用户姓名和订单的支付状态查询订单(admin)
	@Select("<script>" +
            "select o.*,u.username from t_order o LEFT JOIN t_user u ON o.uid=u.id" +
            "<where>" +
                "<if test='username != null'>" +
                    "and u.username like concat('%', #{username}, '%')"+
                "</if>"+
                "<if test='flag != null'>" +
                    "and o.flag = #{flag}"+
                "</if>"+
            "</where>" +
            "</script>")
	@ResultType(Order.class)
	public List<Order> selectByNameAndFlag(@Param("username") String username, @Param("flag") Integer flag);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1134617.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

webpack 解决:TypeError: merge is not a function 的问题

1、问题描述&#xff1a; 其一、存在的问题为&#xff1a; TypeError: merge is not a function 中文为&#xff1a; 类型错误&#xff1a;merge 不是函数 其二、问题描述为&#xff1a; 想执行 npm run dev 命令&#xff0c;运行起项目时&#xff0c;控制台报错 TypeErro…

066:mapboxGL的marker的drag,dragstart,dragend三种触发事件示例

第066个 点击查看专栏目录 本示例是演示如何在vue+mapbox中处理marker的三种触发事件drag,dragstart,dragend。 marker通过on(‘XXX’, callback),的方式进行触发处理。 直接复制下面的 vue+mapbox源代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方式示例源代码(…

医学YOLOv8 | 脑肿瘤检测 Accuracy 99%

在医疗保健领域&#xff0c;准确和高效地识别脑肿瘤是一个重大挑战。本文中&#xff0c;我们将探讨一种使用 YOLOv8&#xff0c;一种先进的目标检测模型&#xff0c;将脑肿瘤进行分类的新方法&#xff0c;其准确率达到了 99%。通过将深度学习与医学图像相结合&#xff0c;我们希…

Python算法例1 完美平方

例1 完美平方 1. 问题描述 给定一个正整数n&#xff0c;找到若干个完全平方数&#xff08;例如&#xff1a;1&#xff0c;4&#xff0c;9&#xff0c;…&#xff09;&#xff0c;使得它们的和等于n&#xff0c;完全平方数的个数最少。 2.问题示例 给出n8&#xff0c;返回2&…

【51单片机】:智能施工电梯系统

项目效果&#xff1a; 基于51单片机的智能施工电梯系统 摘 要 智能施工电梯系统目前广泛应用于人们建筑工程中&#xff0c;为人们施工时上下搬运提供了极大的便利。智能施工电梯系统包括密码开启、超重提示&#xff0c;电梯运作及相关信息显示等等功能&#xff0c;施工电梯为我…

数组中出现次数超过一半的数字整型数组有一个数字出现的次数超过总数的一半,请找出该数字

例如长度为 9 的数组{1,2,3,2,4,2,5,2,2}。 由于 2 出现的次数是 5 次,超过一半,所以结果为2。 算法一&#xff1a; 先排序,然后中间值就是要找的数字 图解&#xff1a; int Cmp_int(const void* vp1, const void* vp2) //定义排序规则 {return * (int*)vp1 - *(int*)vp2; } …

ts | js | 爬虫小公举分享

Curl转Code 快速将curl转为各种语言的代码; 便于提取请求头之类, 或者微改直接使用 https://curlconverter.com/node-axios/ (有点慢, 但是很全)https://www.lddgo.net/convert/curl-to-code (没有axios, 我喜欢用axios) 使用… 抓取地址, 使用浏览器或者其他抓包工具都可, 这…

IP地址在互联网中有哪些作用?

在互联网中&#xff0c;IP地址是一种用于唯一标识网络中设备的地址。IP地址不会与其他网络地址&#xff08;如MAC地址、URL、域名等&#xff09;发生冲突&#xff0c;因为它们各自在不同的网络层次上起作用&#xff0c;用于不同的目的。 IP地址&#xff08;Internet Protocol A…

vue3中常用的新组件

一、Fragment vue2中&#xff0c;组件必须有一个根标签 vue3中&#xff0c;组件可以没有根标签&#xff0c;内部会将多个标签包含在一个Fragment虚拟元素中。 优点&#xff1a;减少标签层级。 二、Teleport&#xff08;传送门&#xff09; 作用&#xff1a;将组件的 html …

企事业单位/公司电脑文件透明加密保护 | 防泄密软件\系统!

推荐——「天锐绿盾电脑文件防泄密系统」 一款全面的企业/公司数据透明加密防泄密系统&#xff0c;旨在从源头上保障数据的安全和使用安全。 PC访问地址&#xff1a; https://isite.baidu.com/site/wjz012xr/2eae091d-1b97-4276-90bc-6757c5dfedee 它具有以下特点&#xff1a…

小程序 swiper滑动 层叠滑动效果

整个红色区域为可滑动区域&#xff0c;数字1区域为展示区域&#xff0c;数字2为下一个展示模块 <scroll-view class"h_scroll_horizontal" enhanced"ture" bind:touchend"touchEnd" bind:touchstart"touchStart"><view clas…

vs c++ 代码 c2362错误

c 开发调试bug 报错 c2362错误 goto语句的使用错误。 我的使用是这样的&#xff1a; goto __end; int nLen value; gto _end; int pBuffer value2;end:我的 nlen 和 pBuffer 直接初始化了&#xff0c;而 goto 与标签之间有任何初始化的语句都不可以&#xff0c;除非用括号把…

CTF-Crypto-第一天-常见编码and古典密码(入门学习笔记)(详)

文章目录 前言0x1 常见编码0x01 编码0x02 ASCII码0x03 Base系列编码0x04其他编码- URL编码-莫尔斯电码&#xff08;Morse Code&#xff09;-HTML实体编码-其他中的其他... 0x05编码与加密的关系 古典密码凯撒密码简单替换密码维吉尼亚密码栅栏密码其他古典密码替换加密移位加密…

c语言从入门到实战——分支和循环

分支和循环 前言1. if语句1.1 if1.2 else1.3 分支中包含多条语句1.4 嵌套if1.5 悬空else问题 2. 关系操作符3. 条件操作符4. 逻辑操作符&#xff1a;&& , || , &#xff01;4.1 逻辑取反运算符4.2 与运算符4.3 或运算符4.4 练习&#xff1a;闰年的判断4.5 短路 5. swit…

net::ERR_BLOCKED_BY_ADMINISTRATOR 问题定位与解决

本文基于谷歌浏览器调试手机应用 chrome://inspect/#devices 我有一个非常简单的广告页面&#xff0c;页面中有一张背景图&#xff0c;和一个按钮 他本应该是这样的 但实际上只显示了最下方的按钮&#xff0c;整个图片是空白的 页面仅在小米浏览器不显示背景图片&#xff0c;…

责任链模式应用案例

前几天系统商品折扣功能优化&#xff0c;同事采用了责任链模式重构了代码&#xff0c;现整理如下。 一、概念 责任链模式是为请求创建一个处理者对象的链条&#xff0c;所有处理者&#xff08;除最末端&#xff09;都含有下一个对象的引用从而形成一条处理链&#xff0c;该模…

怎么防止文件夹被删除、复制?

当文件夹中存放重要数据时&#xff0c;我们需要严格保护文件夹的安全&#xff0c;避免文件夹被复制、删除。那么&#xff0c;该怎么防止文件夹被删除、复制呢&#xff1f;下面我们就一起来了解一下。 ​文件夹隐藏 当文件夹被隐藏时&#xff0c;其他人无法发现文件夹&#xff…

Redis两种持久化方案RDB 和 AOF

Redis 作为一种非常流行的内存数据库&#xff0c;通过将数据保存在内存中&#xff0c;Redis 得以拥有极高的读写性能。但是一旦进程退出&#xff0c;Redis 的数据就会全部丢失。 为了解决这个问题&#xff0c;Redis 提供了 RDB 和 AOF 两种持久化方案&#xff0c;将内存中的数据…

排序算法-堆积树排序法(HeapSort)

目录 排序算法-堆积树排序法&#xff08;HeapSort&#xff09; 1、说明 2、算法分析 3、C代码 排序算法-堆积树排序法&#xff08;HeapSort&#xff09; 1、说明 堆积树排序法是选择排序法的改进版&#xff0c;可以减少在选择排序法中的比较次数&#xff0c;进而减少排序…

禾匠旧版对接微信小程序发货系统(发货信息管理 接口)

最近小程序如果是商家交易需要再小程序后台点击一下发货&#xff0c;特别麻烦&#xff0c;但是旧版的禾匠又没有这个功能&#xff0c;所以只能手动增加这个功能&#xff0c;但是每一个版本发货逻辑都不一样&#xff0c;大家只能自己手动去兼容一下&#xff0c;下面只是写了一个…