条件查询和数据查询

一、后端

1.controller层

package com.like.controller;import com.like.common.CommonDto;
import com.like.entity.User;
import com.like.service.UserService;
import jakarta.annotation.Resource;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.List;@RestController
@RequestMapping("/user")
public class UserController {@Resourceprivate UserService userService;@GetMapping("/getList")public CommonDto getList(){CommonDto commonDto = new CommonDto();List<User> userList = userService.getList();commonDto.setContent(userList);return commonDto;}
}

2.service层

package com.like.service;import com.baomidou.mybatisplus.extension.service.IService;
import com.like.entity.User;
import java.util.List;public interface UserService extends IService<User> {List<User> getList();}

QueryWrapper是Mybatis-plus 3.0.7版本之前推出的查询工具类。和LambdaQueryWrapper的使用方法不同,QueryWrapper需要使用SQL语句来构建查询条件 

package com.like.service.impl;import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.like.entity.User;
import com.like.mapper.UserMapper;
import com.like.service.UserService;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;import java.util.List;@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {@Resourceprivate UserMapper userMapper;@Overridepublic List<User> getList() {QueryWrapper<User> queryWrapper = new QueryWrapper<>();List<User> selectList = userMapper.selectList(queryWrapper);return selectList;}
}

二、前端

1.启动时展示数据

首先编写axios的get请求,注意methods和created和data这些是同级,笔者就是犯了这个小错误,导致debug了一万年,希望大家引以为戒

methods: {handleEdit(index, row) {console.log(index, row);},handleDelete(index, row) {console.log(index, row);},handleSizeChange(val) {console.log(`每页 ${val} 条`);},handleCurrentChange(val) {console.log(`当前页: ${val}`);},getUserList(){this.axios.get("http://localhost:3333/user/getList").then((resp)=>{console.log(resp,'resp');});}},created() {//Vue生命周期函数,此处的目的是页面打开,就调用函数,将数据库中的数据显示出来this.getUserList();}

这样,启动前端工程后,立刻向后端发送了一个get请求,浏览器响应数据如下

显然,我们需要的数据就在data的content中,此时只需让data中的tableData=resp.data.content

   getUserList(){this.axios.get("http://localhost:3333/user/getList").then((resp)=>{console.log(resp,'resp');this.tableData = resp.data.content;});}

这时候,我们的数据库的数据就全部显示在页面上了

 2.条件查询

现在我们需要的效果是,点击查询,触发条件查询,即根据姓名查询用户信息

给getUserList方法加上参数name

   getUserList(){this.axios.get("http://localhost:3333/user/getList",{params:{name:this.query.name  //参数让其等于输入框输入的name}}).then((resp)=>{console.log(resp,'resp');this.tableData = resp.data.content;});}

按钮处添加点击事件,点击触发该方法

<el-button type="primary" @click="getUserList">查询</el-button>

点击查询按钮时候,我们可以看到前端有响应,并且network中的get请求带有参数,这样我们就可以编写后端代码了

后端接口代码逻辑完善

 @Overridepublic List<User> getList(User user) {LambdaQueryWrapper<User> lambdaQueryWrapper = new LambdaQueryWrapper<>();//判断前端是否传来有参数,如果有参数,就使用这个构造条件if (ObjectUtils.isNotEmpty(user.getName())) {lambdaQueryWrapper.like(User::getName,user.getName());}List<User> userList = userMapper.selectList(lambdaQueryWrapper);return userList;}

3.输入框增加可清除效果

<el-input v-model="query.name" style="width:200px" placeholder="请输入用户姓名" clearable></el-input>

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

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

相关文章

文心一言 VS 讯飞星火 VS chatgpt (108)-- 算法导论10.1 6题

六、用go语言&#xff0c;说明如何用两个栈实现一个队列&#xff0c;并分析相关队列操作的运行时间。 文心一言&#xff1a; 使用两个栈实现队列的基本思想是利用一个栈&#xff08;stack1&#xff09;来处理入队操作&#xff0c;另一个栈&#xff08;stack2&#xff09;来处…

ELK集群 日志中心集群

ES&#xff1a;用来日志存储 Logstash:用来日志的搜集&#xff0c;进行日志格式转换并且传送给别人&#xff08;转发&#xff09; Kibana:主要用于日志的展示和分析 kafka Filebeat:搜集文件数据 es-1 本地解析 vi /etc/hosts scp /etc/hosts es-2:/etc/hosts scp /etc…

手机切换ip地址的几种方法详解

在某些情况下&#xff0c;我们可能需要切换手机的IP地址来实现一些特定的需求&#xff0c;如解决某些应用程序的限制、绕过IP封禁等。本文将为大家分享几种切换手机IP地址的方法&#xff0c;让您能够轻松应对各种需求。 一、使用动态服务器 使用动态服务器是一种常见的切换手机…

【Leetcode】 51. N 皇后

按照国际象棋的规则&#xff0c;皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上&#xff0c;并且使皇后彼此之间不能相互攻击。 给你一个整数 n &#xff0c;返回所有不同的 n 皇后问题 的解决方案。 每一种…

分布式文件系统HDFS(林子雨慕课课程)

文章目录 3. 分布式文件系统HDFS3.1 分布式文件系统HDFS简介3.2 HDFS相关概念3.3 HDFS的体系结构3.4 HDFS的存储原理3.5 HDFS数据读写3.5.1 HDFS的读数据过程3.5.2 HDFS的写数据过程 3.6 HDFS编程实战 3. 分布式文件系统HDFS 3.1 分布式文件系统HDFS简介 HDFS就是解决海量数据…

基于springboot实现人职匹配推荐管理系统演示【项目源码+论文说明】分享

基于springboot实现人职匹配推荐管理系统演示 摘要 随着科学技术的飞速发展&#xff0c;各行各业都在努力与现代先进技术接轨&#xff0c;通过科技手段提高自身的优势&#xff1b;对于人职匹配推荐系统当然也不能排除在外&#xff0c;随着网络技术的不断成熟&#xff0c;带动了…

合宙Air780e+luatos+腾讯云物联网平台完成设备通信与控制(属性上报+4G远程点灯)

1.腾讯云物联网平台 首先需要在腾讯云物联网平台创建产品、创建设备、定义设备属性和行为&#xff0c;例如&#xff1a; &#xff08;1&#xff09;创建产品 &#xff08;2&#xff09;定义设备属性和行为 &#xff08;3&#xff09;创建设备 &#xff08;4&#xff09;准备参…

【Zookeeper专题】Zookeeper经典应用场景实战(一)

目录 前置知识课程内容一、Zookeeper Java客户端实战1.1 Zookeeper 原生Java客户端使用1.2 Curator开源客户端使用快速开始使用示例 二、Zookeeper在分布式命名服务中的实战2.1 分布式API目录2.2 分布式节点的命名2.3 分布式的ID生成器 三、zookeeper实现分布式队列3.1 设计思路…

MySQL命令行中文乱码问题

MySQL命令行中文乱码问题&#xff1a; 命令行界面默认字符集是gbk&#xff0c;若字符集不匹配会中文乱码或无法插入中文。 解决办法&#xff1a;执行set names gbk; 验证&#xff1a; 执行命令show variables like ‘char%’;查看默认字符集。 创建数据库设置字符集utf8&…

行车记录仪检测不到内存卡的原因

最近修了两个行车记录仪&#xff0c;相同的问题&#xff0c;都是提示插入内存卡&#xff08;TF卡&#xff09;。网上搜索资料&#xff0c;并没有明确的指出问题原因&#xff0c;有的是直接更换卡槽。 于是自己分析&#xff0c;首先内存卡电路属于小电流&#xff0c;而且电压并不…

使用 Bun 快速搭建一个 http 服务

前端运行时 Bun 1.0 正式发布&#xff0c;如今&#xff0c;Bun 已经稳定并且适用于生产环境。Bun 不仅是一个专注性能与开发者体验的全新 JavaScript 运行时&#xff0c;还是一个快速的、全能的工具包&#xff0c;可用于运行、构建、测试和调试 JavaScript 和 TypeScript 代码&…

1700*C. Number of Ways(贪心前缀和)

Problem - 466C - Codeforces Number of Ways - 洛谷 解析&#xff1a; 首先判断所有数总和是否能被三整除。 之后遍历前缀和数组&#xff0c;如果某个位置的前缀和等于sum/3&#xff0c;则记录。 某个位置前缀和等于sum/3*2则记录答案。 注意由于分成三份&#xff0c;所以同…