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

引入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字段值发生改变

-
相关阅读:
大数据基础
ES6 class静态属性 静态方法 私有方法 私有属性 实例属性 实例方法 静态私有属性 静态私有方法等
(十) ES6 新特性 —— class类
vue的生命周期
基于 .NET 7 的 QUIC 实现 Echo 服务
python实现图像二分类精准率(numpy)
macbook必备的30款软件,每个都舍不得删
一篇文章搞懂 HBase 的 Coprocessor
地图数据设计(四):地图比例尺
【AI视野·今日CV 计算机视觉论文速览 第255期】Wed, 27 Sep 2023
-
原文地址:https://blog.csdn.net/MRJJ_9/article/details/132653246
-
最新文章
-
沪漂五周年了:我越来越迷茫了
Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
MySQL-Seconds_behind_master的精度误差
[MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
Agent OS :五种驯服不确定性的范式
PortSwigger SQL注入LAB11
数据库即时编译JIT
[Begin]AI Learn Data Day 0
深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU