)
本章实现用户界面分页查询删除用户模糊搜索用户User.vuetemplate div div classcard stylemargin: 5px el-input v-modeldata.name stylewidth: 300px; margin-right: 10px placeholder请输入名称查询/el-input el-button typeprimary clickload查询/el-button el-button typeinfo stylemargin: 0 10px clickreset重置/el-button /div div classcard div stylemargin-bottom: 10px el-button typeprimary clickhandleAdd新增/el-button /div el-table :datadata.tableData stripe el-table-column label账号 propusername/el-table-column el-table-column label名称 propname/el-table-column el-table-column label头像 template #defaultscope el-image :srcscope.row.avatar stylewidth: 40px; height: 40px; border-radius: 50%/el-image /template /el-table-column el-table-column label角色 proprole/el-table-column el-table-column label账户余额 propbalance/el-table-column el-table-column label操作 aligncenter width160 template #defaultscope el-button typedanger clickdel(scope.row.id)删除/el-button /template /el-table-column /el-table /div div classcard el-pagination current-changeload background layouttotal, prev, pager, next v-model:page-sizedata.pageSize v-model:current-pagedata.pageNum :totaldata.total/ /div /div /template script setup import {reactive} from vue; import {Search} from element-plus/icons-vue; import request from /utils/request; import {ElMessage, ElMessageBox} from element-plus; const datareactive({ name:null, tableData:[], total:0, pageNum:1, pageSize:5 }) //分页查询 const load () { request.get(/user/selectPage,{ params:{//给usercontroller selectpage()传参数 pageNum:data.pageNum, pageSize:data.pageSize, name:data.name } // /user/selectPage?pageNum1pageSize5name张三 }).then(res{ if(res.code200){ data.tableDatares.data?.list data.totalres.data?.total } else { ElMessage.error(res.msg) } }) } //重置 const reset () { data.namenull load() } // /user/delete/123 const del (id) { ElMessageBox.confirm(确定删除吗,删除确认,{type:warning}).then(res{ request.delete(/user/delete/ id).then(res{ if(res.code200){ ElMessage.success(操作成功) load() } else { ElMessage.error(res.msg) } }) }).catch(err {}) } load() /scriptUserpackage com.example.entity; import java.math.BigDecimal; public class User { /** ID */ private Integer id; /** 用户名 */ private String username; /** 密码 */ private String password; /** 姓名 */ private String name; /** 头像 */ // private String avatar; /** 角色标识 */ private String role; //余额 private BigDecimal balance; public Integer getId() { return id; } public void setId(Integer id) { this.id id; } public String getUsername() { return username; } public void setUsername(String username) { this.username username; } public String getPassword() { return password; } public void setPassword(String password) { this.password password; } public String getName() { return name; } public void setName(String name) { this.name name; } public String getRole() { return role; } public void setRole(String role) { this.role role; } public BigDecimal getBalance() { return balance; } public void setBalance(BigDecimal balance) { this.balance balance; } }UserControllerpackage com.example.controller; import com.example.common.Result; import com.example.entity.User; import com.example.service.UserService; import com.github.pagehelper.PageInfo; import jakarta.annotation.Resource; import org.springframework.web.bind.annotation.*; RestController RequestMapping(/user) public class UserController { Resource private UserService userService; // http://localhost:9090 /user/selectPage?pageNum1pageSize5name张三 GetMapping(/selectPage) public Result selectPage(RequestParam(defaultValue 1) Integer pageNum, RequestParam(defaultValue 10) Integer pageSize, RequestParam(required false) String name){ PageInfoUser pageInfouserService.selectPage(pageNum,pageSize,name); return Result.success(pageInfo); } // http://localhost:9090 /user/delete/123 DeleteMapping(/delete/{id}) public Result delete(PathVariable Integer id){ userService.deleteById(id); return Result.success(); } }UserServicepackage com.example.service; import com.example.entity.User; import com.example.mapper.UserMapper; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import java.util.List; Service public class UserService { Resource private UserMapper userMapper; public PageInfoUser selectPage(Integer pageNum, Integer pageSize,String name) { PageHelper.startPage(pageNum, pageSize); ListUser list userMapper.selectAll(name); return PageInfo.of(list); } public void deleteById(Integer id) { userMapper.deleteById(id); } }UserMapper接口package com.example.mapper; import com.example.entity.User; import org.springframework.stereotype.Repository; import java.util.List; Repository public interface UserMapper { ListUser selectAll(String name); void deleteById(Integer id); }UserMapper.xml?xml version1.0 encodingUTF-8? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.example.mapper.UserMapper select idselectAll resultTypecom.example.entity.User select * from user where if testname ! nullname like concat(%,#{name},%)/if /where /select delete iddeleteById delete from user where id #{id} /delete /mapperResultpackage com.example.common; public class Result { private String code; private String msg; private Object data; private Result(Object data) { this.data data; } public Result() { } public static Result success() { Result result new Result(); result.setCode(200); result.setMsg(请求成功); return result; } public static Result success(Object data) { Result result success(); result.setData(data); return result; } public static Result error() { Result result new Result(); result.setCode(500); result.setMsg(请求失败); return result; } public static Result error(String msg) { Result result new Result(); result.setCode(500); result.setMsg(msg); return result; } public String getCode() { return code; } public void setCode(String code) { this.code code; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg msg; } public Object getData() { return data; } public void setData(Object data) { this.data data; } }