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;然后有…

springboot mqtt收发消息

​在Spring Boot中&#xff0c;可以使用MQTT协议来收发消息。以下是一个简单的示例&#xff1a; 1. 添加依赖 在pom.xml文件中添加以下依赖&#xff1a; xml <dependency> <groupId>org.springframework.integration</groupId> <artifactId>spring-in…

【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;创建数据库连…

CSS:font-family作用

font-family作用 介绍代码举例示例分析示例分析 常用方法1.使用字体族2.使用系统字体3.使用Web字体4.使用CSS变量5.使用font-face规则 通用字体族补充 介绍 在Web开发中&#xff0c;font-family 是CSS的一个属性&#xff0c;用于指定一个网页元素应该使用哪些字体样式。font-f…

#centos7搭建php8+nginx环境#

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

浅谈云原生安全

一、云原生安全的层级概念 "4C" Code-Container-Cluster-Cloud 二、云原生各个层级的安全实践有哪些&#xff1f; 1、针对于Cloud针对的是公有云层面&#xff0c;其实就一点 1、使用主账号子角色&#xff0c;赋予最小权限原则进行资源管理。 2、对于Cluster 1、从C…

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

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

如何在C#代码中判断当前C#的版本和dotnet版本

代码如下&#xff1a; using System.Reflection; using System.Runtime.InteropServices;var csharpVersion typeof(string).Assembly.GetCustomAttributes(typeof(AssemblyFileVersionAttribute), false).OfType<AssemblyFileVersionAttribute>().FirstOrDefault()?.…

09- Redis 中的 Stream 数据类型和应用场景

1. 介绍 Redis Stream 是 Redis 5.0 版本新增加的数据类型&#xff0c;Redis 专门为消息队列设计的数据类型。 在 Redis 5.0 Stream 没出来之前&#xff0c;消息队列的实现方式都有着各自的缺陷&#xff0c;例如&#xff1a; 发布订阅模式&#xff0c;不能持久化也就无法可靠…

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…

golang开发 gorilla websocket的使用

很多APP都需要主动向用户推送消息&#xff0c;这就需要用到长连接的服务&#xff0c;即我们通常提到的websocket&#xff0c;同样也是使用socket服务&#xff0c;通信协议是基本类似的&#xff0c;在go中用的最多的、也是最简单的socket服务就是gorilla/websocket&#xff0c;它…

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…

linux 配置端口转发

当我们内网服务器没有公网IP&#xff0c;但需要将服务暴露出去时&#xff0c;可以采用如下方式&#xff0c;即通过跳板机&#xff08;带公网IP&#xff09;做转发&#xff0c;下面得例子演示将mysql 3306 服务暴露出去 192.168.10.25 运行mysql服务3306192.168.10.30跳板机&…