Javaweb第九次作业

采用XML映射文件的形式来映射sql语句;采用动态sql语句的方式,实现条件查询的分页。

controller

@Slf4j
@RestController
@RequestMapping("supermarket111")
public class SupermarketFenyeController {@AutowiredSupermarketFenyeService supermarketFenyeService;@RequestMapping ("/supermarket/{page}/{pageSize}")public Result findAll(@PathVariable  Integer page,@PathVariable  Integer pageSize){PageBean pageBean =  supermarketFenyeService.list(page,pageSize);return Result.seccess(pageBean);}//查询所有+分页@RequestMapping("/supermarket1/{page}/{pageSize}")public Result findAll_chaxun(@PathVariable  Integer page,@PathVariable  Integer pageSize, String merchID, String factoryID){//记录日志log.info("分页查询,参数:{},{},{},{},{},{}", page, pageSize,merchID, factoryID);PageBean pageBean =  supermarketFenyeService.list_chaxun(page,pageSize,merchID,factoryID);return Result.seccess(pageBean);}//条件分页查询@GetMapping("/{page}/{pageSize}")public Result page(@PathVariable Integer page,@PathVariable Integer pageSize,String merchID, String factoryID) {//记录日志log.info("分页查询,参数:{},{},{},{},{},{}", page, pageSize,merchID, factoryID);//调用业务层分页查询功能PageBean pageBean = supermarketFenyeService.list_chaxun(page, pageSize, merchID, factoryID);//响应return Result.seccess(pageBean);}

mapper

public List<MerchInfo> list();//带条件的查询public List<MerchInfo> list_chaxun(@Param("merchID") String merchID, @Param("factoryID") String factoryID);

service

   @Autowiredprivate SupermarketMapper supermarketMapper;@Overridepublic PageBean list(Integer page,Integer pageSize) {//问:PageHelper.startPage(page, pageSize); 请解释一下// 设置分页参数PageHelper.startPage(page, pageSize);// 执行分页查询List<MerchInfo> supermarketList = supermarketMapper.list();// 获取分页结果PageInfo<MerchInfo> p = new PageInfo<>(supermarketList);//封装PageBeanPageBean pageBean = new PageBean(p.getTotal(), p.getList());return pageBean;}@Overridepublic PageBean list_chaxun(Integer page,Integer pageSize,String merchID,String factoryID) {// 设置分页参数PageHelper.startPage(page, pageSize);// 执行分页查询List<MerchInfo> supermarketList = supermarketMapper.list_chaxun(merchID, factoryID);// 获取分页结果PageInfo<MerchInfo> p = new PageInfo<>(supermarketList);//封装PageBeanPageBean pageBean = new PageBean(p.getTotal(), p.getList());return pageBean;}
public PageBean list(Integer page, Integer pageSize);public PageBean list_chaxun(Integer page, Integer pageSize,String merchID,String factoryID);

xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.git.mapper.SupermarketMapper"><!-- 查询 --><select id="list" resultType="com.example.git.pojo.MerchInfo">select * from merchinfo</select><!-- 条件分页查询 --><select id="list_chaxun" resultType="com.example.git.pojo.MerchInfo">select * from merchinfo<where><if test="merchID != null and merchID != ''">merchID like concat('%',#{merchID},'%')</if><if test="factoryID != null and factoryID != ''">and  factoryID like concat('%',#{factoryID},'%')</if></where></select></mapper>

html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>超市管理</title><link rel="stylesheet" href="js/element.css"></head>
<body style="margin: 0">
<div id="app" style="width: 100%;height: 100%"><!--头导航栏--><el-container ><el-header style="height: 60px;width: 100%;margin-top: 0;background-color: #545c64 "><el-menu:default-active="activeIndex"class="el-menu-demo"mode="horizontal"@select="handleSelect"background-color="#545c64"text-color="#fff"active-text-color="#ffd04b"><el-menu-item index="1" style="float: left"><template slot="title">超市管理</template></el-menu-item><el-menu-item index="1" style="float: right">处理中心</el-menu-item><el-submenu index="2" style="float: right"><template slot="title">我的工作台</template><el-menu-item index="2-1">选项1</el-menu-item><el-menu-item index="2-2">选项2</el-menu-item><el-menu-item index="2-3">选项3</el-menu-item><el-submenu index="2-4"><template slot="title">选项4</template><el-menu-item index="2-4-1">选项1</el-menu-item><el-menu-item index="2-4-2">选项2</el-menu-item><el-menu-item index="2-4-3">选项3</el-menu-item></el-submenu></el-submenu><el-menu-item index="3" disabled style="float: right">消息中心</el-menu-item><el-menu-item index="4" style="float: right"><a href="https://www.ele.me" target="_blank">订单管理</a></el-menu-item></el-menu></el-header><!--左导航栏--><el-container style="height: 900px;"><el-aside width="300px" height="900px" style="background-color:#545c64"><el-col  style="height: 100%;width: 300px;color:#545c64"><el-menudefault-active="2"class="el-menu-vertical-demo"@open="handleOpen"@close="handleClose"background-color="#545c64"text-color="#fff"active-text-color="#ffd04b"><el-submenu index="1"><template slot="title"><i class="el-icon-location"></i><span>功能管理</span></template><el-menu-item-group><template slot="title">核心功能</template><el-menu-item index="1-1">商品信息管理</el-menu-item><el-menu-item index="1-2">厂商管理</el-menu-item><el-menu-item index="1-3">供货商管理</el-menu-item><el-menu-item index="1-4">销售管理</el-menu-item></el-menu-item-group></el-submenu><el-submenu index="2"><template slot="title"><i class="el-icon-location"></i><span>统计分析</span></template><el-menu-item-group><template slot="title">图表统计</template><el-menu-item index="2-1">统计分析</el-menu-item></el-menu-item-group></el-submenu></el-menu></el-col></el-aside><!--主表格页面--><el-main height="900px"><!--查询栏--><el-form :inline="true" :model="formInline" class="demo-form-inline" style="font-size: 15px"><el-form-item label="商品编号"><el-input v-model="formInline.merchID" placeholder="商品编号" size="mini"></el-input></el-form-item><el-form-item label="厂商编号"><el-input v-model="formInline.factoryID" placeholder="厂商编号" size="mini"></el-input></el-form-item><el-form-item><el-button type="primary" @click="onSubmit" size="mini">查询</el-button></el-form-item><el-form-item><el-button type="success" @click="gotoInsert" size="mini" icon="el-icon-circle-plus-outline">新增</el-button></el-form-item></el-form><!--表格--><el-table:data="tableData.filter(data => !search || data.merchID.toLowerCase().includes(search.toLowerCase()))"><el-table-column align="center"label="商品编号"prop="merchID"></el-table-column><el-table-column align="center"label="商品名称"prop="merchName"></el-table-column><el-table-column align="center"label="价格"prop="merchPrice"></el-table-column><el-table-column align="center"label="库存数量"prop="merchNum"></el-table-column><el-table-column align="center"label="厂商编号"prop="factoryID"></el-table-column><el-table-column align="center"label="供货商编号"prop="provideID"></el-table-column><el-table-column align="center" label="操作"><template slot-scope="scope"><el-buttonsize="mini"@click="gotoEdit(scope.row.merchID)">Edit</el-button><el-buttonsize="mini"type="danger"@click="deleteById(scope.row.merchID)">Delete</el-button></template></el-table-column></el-table><p align="center"><el-paginationlayout="total, sizes, prev, pager, next, jumper"@size-change="handleSizeChange"@current-change="handleCurrentChange":current-page="currentPage":page-sizes="[2, 3, 4, 10]":page-size="pageSize":total="total"></el-pagination></p></el-main></el-container></el-container>
</div><!-- 引入组件库 -->
<script src="js/jquery.min.js"></script>
<script src="js/vue.js"></script>
<script src="js/element.js"></script>
<script src="js/axios-0.18.0.js"></script><script>new Vue({el: "#app",data: {activeIndex:'1',search: '',currentPage: 1,pageSize: 4,total: null,formInline: {merchID: '',factoryID: '',},tableData: [],formLabelWidth: '120px'},methods: {handleEdit(index, row) {console.log(index, row);},handleDelete(index, row) {console.log(index, row);},handleSizeChange(val) {this.pageSize = val;this.findAll();console.log(`每页 ${val} 条`);},handleCurrentChange(val) {this.currentPage = val;this.findAll();console.log(`当前页: ${val}`);},
//查询所有onSubmit() {var url = `/supermarket111/${this.currentPage}/${this.pageSize}?merchID=${encodeURIComponent(this.formInline.merchID)}&factoryID=${encodeURIComponent(this.formInline.factoryID)}`console.log(this.formInline.merchID);console.log(this.formInline.factoryID);axios.get(url).then(res =>{this.tableData = res.data.data.rows;this.total=res.data.data.total;console.log(this.tableData);console.log(this.total);}).catch(error=>{console.error(error);})},findAll() {var url = `/supermarket111/${this.currentPage}/${this.pageSize}`axios.get(url).then(res =>{this.tableData = res.data.data.rows;this.total=res.data.data.total;console.log(this.tableData);console.log(this.total);}).catch(error=>{console.error(error);})},deleteById:function (merchID) {var _this= this;if (window.confirm("确定要删除该条数据吗???")){axios.delete('/delete2/'+merchID).then(function (response) {alert("删除成功")_this.findAll(1);}).catch(function (error) {console.log(error);});}},gotoInsert(){location.href='insert.html';},gotoEdit(merchID){location.href='edit.html?merchID='+merchID;}},created(){this.findAll();}})</script>
</body>
</html>

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

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

相关文章

Rust之函数式语言特性:迭代器和闭包(一):概述

开发环境 Windows 11Rust 1.78.0 VS Code 1.89.1 项目工程 这次创建了新的工程minigrep. 函数式语言特性:迭代器和闭包 Rust的设计从许多现有语言和技术中获得了灵感&#xff0c;其中一个重要影响是函数式编程。函数式编程通常包括通过在参数中传递函数、从其他函数返回函数、…

【免费Web系列】JavaWeb实战项目案例五

这是Web第一天的课程大家可以传送过去学习 http://t.csdnimg.cn/K547r 新增员工 前面我们已经实现了员工信息的条件分页查询。 那今天我们要实现的是新增员工的功能实现&#xff0c;页面原型如下&#xff1a; ​ 首先我们先完成"新增员工"的功能开发&#xff0…

[Redis]Hash类型

基本命令 hset命令 设置 hash 中指定的字段&#xff08;field&#xff09;的值&#xff08;value&#xff09; 返回值&#xff1a;添加的字段的个数&#xff08;注意是添加的个数&#xff0c;而不包括修改的&#xff09; hset key field value [field value ...] hget命令 …

InnoDB Data Locking - Part 2 “Locks“

什么是数据库“锁”&#xff1f; 当我熟悉数据库术语时&#xff0c;我发现非常困惑的一件事是“锁【lock】”这个词在数据库中的含义与在编程中的含义不同。 在编程中&#xff0c;如果你有一个“锁”&#xff0c;那么它就是内存中存储在某个地址下的单个对象&#xff0c;然后有…

【linux】在linux操作系统下快速熟悉开发环境并上手开发工具——体验不一样的开发之旅

个人主页&#xff1a;东洛的克莱斯韦克-CSDN博客 祝福语&#xff1a;愿你拥抱自由的风 目录 vim编辑器 Linux编译器&#xff1a;gcc/g使用 gcc和g的选项 编译过程 动静态库的链接 Linux项目的自动化构建 生成可执行程序 清理可执行程序 Linux调试器-gdb使用 git和git…

DBeaver添加DM8驱动(maven下载和jar包下载配置)

DBeaver 24.0.3添加DM8驱动 下载DBeaver下载DM达梦驱动下载 安装配置使用自带Dameng自行添加达梦驱动 因为最近公司项目有信创要求&#xff0c;所以下载了达梦数据库。使用自带的达梦管理工具不是很方便&#xff0c;于是换了DBeaver。 哼哧哼哧安装好后&#xff0c;创建数据库连…

#centos7搭建php8+nginx环境#

场景:为了实现上传的pdf文件转成png图片,需要搭建一个php8nginx的运行环境&#xff0c;最后安装imagic扩展 安装顺序 php-> linux-> imagemagick -> ghostscript -> imagick 一&#xff1a;安装phpnginx环境 1、安装remi扩展源 remi源是Remi repository是包含最新…

【数据结构】二叉树-堆(下)-链式二叉树

个人主页~ 二叉树-堆&#xff08;上&#xff09; 栈和队列 二叉树 四、堆的代码实现Heap.hHeap.ctest.c 五、堆的应用堆排序思想进行排序 六、二叉树链式结构的实现BTree.hBTree.ctest.c 四、堆的代码实现 Heap.h #pragma once#include <stdio.h> #include <stdlib…

Python魔法之旅-魔法方法(05)

目录 一、概述 1、定义 2、作用 二、应用场景 1、构造和析构 2、操作符重载 3、字符串和表示 4、容器管理 5、可调用对象 6、上下文管理 7、属性访问和描述符 8、迭代器和生成器 9、数值类型 10、复制和序列化 11、自定义元类行为 12、自定义类行为 13、类型检…

Linux系统使用Docker安装Drupal结合内网穿透实现远程访问管理后台

目录 前言 1. Docker安装Drupal 2. 本地局域网访问 3 . Linux 安装cpolar 4. 配置Drupal公网访问地址 5. 公网远程访问Drupal 6. 固定Drupal 公网地址 前言 作者简介&#xff1a; 懒大王敲代码&#xff0c;计算机专业应届生 今天给大家聊聊Linux系统使用Docker安装Drupal…

Mybatis 查询TypeHandler使用,转译查询数据(逗号分隔转List)

创建自定义的Hanndler /*** Package: com.datalyg.common.core.handler* ClassName: CommaSeparatedStringTypeHandler* Author: dujiayu* Description: 用于mybatis 解析逗号拼接字符串* Date: 2024/5/29 10:03* Version: 1.0*/ public class CommaSeparatedStringTypeHandle…

SAP Build引言

前言 SAP Build 似乎是一个整合了很多低代码或无代码产品的平台&#xff0c;最早的时候应该都是各自分开的几个产品&#xff0c;近年合并到一块上了SAP Build平台 现在看官网的介绍应该是有三四个产品被集成进来了&#xff0c;分别是SAP IRPA&#xff0c;SAP Workflow&#xf…

c# 输出二进制字符串

参考链接 C#二进制输出数据_c# 输出二进制 123.5的方法-CSDN博客https://blog.csdn.net/a497785609/article/details/4572112标准数字格式字符串 - .NET | Microsoft Learnhttps://learn.microsoft.com/zh-cn/dotnet/standard/base-types/standard-numeric-format-strings#BFo…

13、电科院FTU检测标准学习笔记-录波功能1

作者简介&#xff1a; 本人从事电力系统多年&#xff0c;岗位包含研发&#xff0c;测试&#xff0c;工程等&#xff0c;具有丰富的经验 在配电自动化验收测试以及电科院测试中&#xff0c;本人全程参与&#xff0c;积累了不少现场的经验 ———————————————————…

js高级—基础深入总结

文章目录 1. 数据类型1.1. 常见数据类型1.2.数据类型判断&#xff1a;1.3.underfined与null的区别1.4.什么时候给变量赋值为null1.5. 严格区别变量类型与数据类型&#xff1a; 2. 数据变量和内存2.1. 什么是数据2.2. 什么是内存2.3. 什么是变量2.4.内存、数据、变量三者关系问题…

【科普向】【文末附gpt升级秘笈】人工智能领域的风云变幻:从OpenAI到Anthropic的人才流动与技术走向

人工智能领域的风云变幻&#xff1a;从OpenAI到Anthropic的人才流动与技术走向 摘要&#xff1a;人工智能领域的竞争日趋激烈&#xff0c;技术巨头间的人才流动和团队重组成为常态。本文通过分析OpenAI前首席安全研究员Jan Leike加入Anthropic公司这一事件&#xff0c;探讨人工…

socks5 如何让dns不被污染

问题 发现firefox浏览器代理设置成socks5后&#xff0c;查看ip是成功了&#xff0c;但是谷歌等海外的还是无法正常访问。 原因 主要原因是socks5连接虽然是成功了&#xff0c;但是dns还是走国内的&#xff0c;国内的dns解析都被污染了导致没法正常访问 解决 把设置里的 使…

图数据集的加载

原文参考官方文档&#xff1a; https://pytorch-geometric.readthedocs.io/en/latest/modules/loader.html torch_geometric.loader 库中&#xff0c; 该库中包含了多种 图数据集的 加载方式&#xff0c; 这里主要介绍 DenseDataLoader and DataLoader 这两者之间的区别&#…

每日一题——力扣141. 环形链表(举一反三+思想解读+逐步优化)

一个认为一切根源都是“自己不够强”的INTJ 个人主页&#xff1a;用哲学编程-CSDN博客专栏&#xff1a;每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 我的写法 专业点评 时间复杂度分析 空间复杂度分析 总结 我要更强 方法2&#x…

概率论与数理统计,重要知识点——全部公式总结

二、一维随机变量及其分布 五个分布参考另外一篇文章 四、随机变量的数字特征 大数定理以及中心极限定理 六、数理统计