springboot+vue模糊查询功能实现

步骤:

一:

创建实体类,如下:

package com.example.manageserve.entity;

import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;

@Data
public class User {
    private Integer id;
    private String username;
    @JsonIgnore
    private String password;
    private String nickname;
    private String email;
    private String phone;
    private String address;


}

二、

在业务层编写逻辑代码(本人传入的参数是username和phone)

@GetMapping("/page")
    public Map<String, Object> findPage(@RequestParam Integer pageNum,
                                        @RequestParam Integer pageSize,
                                        @RequestParam String username,
                                        @RequestParam String phone) {

        pageNum = (pageNum - 1) * pageSize;
        username = "%" + username + "%"; //前端数据交互拼写
        phone = "%" + phone + "%";//前端数据交互拼写
        List<User> data = userMapper.selectPage(pageNum, pageSize, username, phone);
        Integer total = userMapper.selectTotal(username, phone);
        Map<String, Object> res = new HashMap<>();
        res.put("data", data);
        res.put("total", total);
        return res;
    }

三、

通过mapper层向数据库发送sql语句,将这些结果通过接口传给service层,对数据库进行数据持久化操作
//多条件模糊查询
    @Select("select * from  user where username like #{username} and phone like #{phone} limit #{pageNum} , #{pageSize}")
     List<User> selectPage(Integer pageNum, Integer pageSize, String username,String phone);
    //多条件模糊查询总条数
    @Select("select count(*) from  user where username like #{username} and phone like #{phone}")
      Integer  selectTotal(String username, String phone);

四、
使用postman调试接口(附上postman入门介绍以及使用方法)

https://blog.csdn.net/lzp_88/article/details/115552991?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167271089916800211599226%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=167271089916800211599226&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-115552991-null-null.142^v68^pc_rank_34_queryrelevant25,201^v4^add_ask,213^v2^t3_control1&utm_term=postman%E5%8A%9F%E8%83%BD&spm=1018.2226.3001.4187icon-default.png?t=MBR7https://blog.csdn.net/lzp_88/article/details/115552991?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167271089916800211599226%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=167271089916800211599226&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-115552991-null-null.142^v68^pc_rank_34_queryrelevant25,201^v4^add_ask,213^v2^t3_control1&utm_term=postman%E5%8A%9F%E8%83%BD&spm=1018.2226.3001.4187设置好参数,点击send在下方能显示数据库的数据说明模糊查询接口编写成功,接下来再去前端编写代码

 

五、

找到搜索框,在搜索框中绑定v-model

 设置点击事件,此图为点击按钮加载load函数

 load函数如下:
其中的url端口号为后端设置的端口号,如前后端端口不一致导致跨域问题在博主的其他文章中已有解决方案。

load(){
      fetch("http://localhost:9090/user/page?pageNum="+this.pageNum+"&pageSize="+this.pageSize + "&username="+this.username
      +"&phone="+this.phone)
          .then(res => res.json()).then(res =>{
        console.log(res)
        this.tableData = res.data
        this.total = res.total
      })
    }

在data中附上初始值可以为空。

 

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
实现模糊查询,需要在后端代码中编写SQL语句,并在前端页面上通过输入框获取查询条件,将查询条件传递给后端进行查询。以下是一个简单的示例: 后端: 1. 在MyBatis中编写模糊查询的SQL语句: ```xml <select id="findUsersByName" parameterType="string" resultType="User"> SELECT * FROM user WHERE name LIKE CONCAT('%', #{name}, '%') </select> ``` 2. 在UserService中调用该方法: ```java @Service public class UserService { @Autowired private UserMapper userMapper; public List<User> findUsersByName(String name) { return userMapper.findUsersByName(name); } } ``` 前端: 1. 在vue中定义一个输入框和一个按钮: ```html <template> <div> <input type="text" v-model="keyword"> <button @click="search">搜索</button> </div> </template> ``` 2. 在vue组件的methods中定义search方法,并通过axios发送请求: ```javascript import axios from 'axios'; export default { data() { return { keyword: '' } }, methods: { search() { axios.get('/api/users', { params: { name: this.keyword } }).then(response => { console.log(response.data); }).catch(error => { console.log(error); }); } } } ``` 3. 在后端Controller中定义一个路由,将查询条件传递给UserService进行查询: ```java @RestController @RequestMapping("/api") public class UserController { @Autowired private UserService userService; @GetMapping("/users") public List<User> findUsersByName(@RequestParam("name") String name) { return userService.findUsersByName(name); } } ``` 这样就可以实现一个简单的模糊查询功能了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值