前言:完成一个列表,实现表头的切换,字段的筛选,排序,分页功能。
目录

引入mybatis-plus依赖
-
-
com.baomidou -
mybatis-plus-boot-starter -
3.5.3 -
- package com.mrjj.java.model;
-
- import com.baomidou.mybatisplus.annotation.IdType;
- import com.baomidou.mybatisplus.annotation.TableId;
- import com.baomidou.mybatisplus.annotation.TableName;
- import lombok.AllArgsConstructor;
- import lombok.Data;
- import lombok.NoArgsConstructor;
-
- @Data
- @NoArgsConstructor
- @AllArgsConstructor
- @TableName("merchandise_details")
- public class MerchandiseDetails {
- @TableId(type= IdType.AUTO)
- public int id;
- public String salesPlatform;
- public String merchandiseName;
- public int freightCharge;
- public String notes;
- }
- package com.mrjj.java.mapper;
-
- import com.baomidou.mybatisplus.core.mapper.BaseMapper;
- import com.mrjj.java.model.MerchandiseDetails;
- import org.apache.ibatis.annotations.Mapper;
-
- @Mapper
- public interface MerchandiseDetailsMapper extends BaseMapper
{ - }
MerchandiseDetailsService文件
- package com.mrjj.java.service;
-
- import com.baomidou.mybatisplus.extension.service.IService;
- import com.mrjj.java.model.MerchandiseDetails;
-
- public interface MerchandiseDetailsService extends IService
{ - }
- package com.mrjj.java.service.impl;
-
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.mrjj.java.mapper.MerchandiseDetailsMapper;
- import com.mrjj.java.model.MerchandiseDetails;
- import com.mrjj.java.service.MerchandiseDetailsService;
- import org.springframework.stereotype.Service;
-
- @Service("MerchandiseDetailsService")
- public class MerchandiseDetailsServiceImpl extends ServiceImpl
implements MerchandiseDetailsService { - }
- package com.mrjj.java.service;
-
- import com.mrjj.java.model.MerchandiseDetails;
- import org.junit.jupiter.api.Test;
- import org.springframework.boot.test.context.SpringBootTest;
- import org.springframework.transaction.annotation.Transactional;
-
- import javax.annotation.Resource;
- import java.util.List;
-
- @SpringBootTest
- @Transactional
- public class MerchandiseDetailsServiceTest {
- @Resource
- MerchandiseDetailsService merchandiseDetailsService;
-
- @Test
- public void getAll() {
- List
list = merchandiseDetailsService.list(); - System.out.println(list);
-
- }
-
- @Test
- public void update() {
- MerchandiseDetails change = new MerchandiseDetails(30, "淘宝", "天堂伞", 16, "质量好");
- merchandiseDetailsService.updateById(change);
- }
- }
- package com.mrjj.java.controller;
-
- import com.mrjj.java.model.MerchandiseDetails;
- import com.mrjj.java.model.Result;
- import com.mrjj.java.service.MerchandiseDetailsService;
- import org.springframework.web.bind.annotation.*;
-
- import javax.annotation.Resource;
- import java.util.List;
-
- @RestController
- @RequestMapping("/MerchandiseDetails")
- public class MerchandiseDetailsController {
- @Resource
- MerchandiseDetailsService merchandiseDetailsService;
-
- @GetMapping
- public Result
> listMerchandiseDetails() {
- return Result.success(merchandiseDetailsService.list());
- }
-
- @PutMapping
- public Result updateMerchandiseDetails(@RequestBody MerchandiseDetails merchandiseDetails) {
- boolean result = merchandiseDetailsService.updateById(merchandiseDetails);
- if (result) {
- return Result.success("更新商品详细信息成功!");
- } else {
- return Result.fail(210, "更新商品详细信息失败", merchandiseDetails);
- }
-
- }
- }
- export interface MerchandiseDetails {
- id: number;
- salesPlatform: string;
- merchandiseName: string;
- freightCharge: number;
- notes: string;
- }
- import request from '../request'
- import axios, { type AxiosPromise } from 'axios'
- import type { MerchandiseDetails } from '@/types/merchandises_details/types'
- const instance = axios.create({
- baseURL: '/merchandiseDetails',
- timeout: 30000,
- headers: { 'Content-Type': 'application/json;charset=utf-8' }
- })
- export default instance
-
- export function listMerchandiseDetailsApi(): AxiosPromise<MerchandiseDetails[]> {
- return request({
- url: '/merchandiseDetails',
- method: 'get',
- })
- }
-
- export function updateMerchandiseDetailsApi(data: MerchandiseDetails) {
- return request({
- url: '/merchandiseDetails',
- method: 'put',
- data: data,
- })
- }
-
"修改商品名称" v-model="isUpdateName"> -
"changeRow.merchandiseName" size="default" clearable> -
-
-
@click="isUpdateName = false">取消 -
"primary" @click="updateMerchandiseName">确认 -
-
-
-
-
"12" :offset="0"> -
"filterType" size="default"> -
"all">全部 -
"京东" /> -
"唯品会" /> -
"淘宝" /> -
"亚马逊" /> -
"拼多多" /> -
"当当" /> -
"天猫" /> -
-
-
-
-
- v-model="searchText"
- placeholder="请输入内容进行搜索"
- size="default"
- clearable
- :suffix-icon="Search"
- >
- >
"primary" size="default" :icon="Search"> -
-
-
-
-
-
"showMerchandiseList" style="width: 50%" height="540" border stripe> -
"商品名称" fixed prop="merchandiseName" width="200px" /> -
"销售平台" prop="salesPlatform" width="100px" /> -
"邮费" prop="freightCharge" width="100px" /> -
"详细信息" prop="notes" width="200px" /> -
"操作" width="200px"> - default="{ row }">
-
- type="primary"
- size="default"
- @click="
- isUpdateName = true;
- changeRow = { ...row };
- "
- >修改商品名称
- >
- >
-
-
-
- background
- v-model:current-page="currentPage"
- v-model:page-size="pageSize"
- :page-sizes="[10, 20, 50]"
- layout="total, prev,sizes, pager, next,jumper"
- :total="filterMerchandiseList.length"
- @size-change="handleSizeChange"
- @current-change="handleCurrentChange"
- />
-
-
- .el-input{
- width: 30%;
- }
效果展示
固定表头,每页展示50条数据,分页功能

搜索功能

过滤+搜索功能
修改商品名称

数据库merchandise_name字段值发生改变

-
相关阅读:
Linux操作-1之内容切割命令cut
跟艾文学编程《Python基础》(7)pandas数据分析
2023-09-12 mysql-代号m-添加字段且字段非空出错-问题分析
【C++】养很多鱼,只为观察向量的生长
.Net平台
民安智库(北京第三方窗口测评)开展汽车消费者焦点小组座谈会调查
C复习-预处理器:define+条件编译+文件包含
朗强:高清视频HDMI延长器的特点
java计算机毕业设计springboot+vue学生宿舍管理系统
算法入门教程(六、试探)
-
原文地址:https://blog.csdn.net/MRJJ_9/article/details/132653246