Mysql实现模糊分页查询

1.建立一个新的package 名为common包

在common包中new 一个class -Result

初始化,对数据进行包装

package com.example.springboot.common;
import lombok.Data;
@Data
public class Result {
private static final String SUCCESS_CODE = “200";
private static final String ERROR_CODE = "-1";

private String code ;
private Object data;
private String msg;

public static Result success() {
    Result result = new Result();
    result.setCode(SUCCESS CODE);
    return result;
}

public static Result success(Object data) {
    Result result = new Result();
    result.setCode(SUCCESS_CODE):
    result.setData(data);
    return result;
}

public static Result error(string msg) {
    Result result = new Result();
    result.setCode(ERROR_CODE);
    result.setMsg(msg);
    return result;
    }

}

在接口中返回可用,修改后示例

 分页模糊查询

1.将原来所有的user-list更名为list 

2.在UserController类中开始写(从前往后写)

@GetMapping(Ov"/page")
public Result page(){
{userService.page();
return Result.success();    //先不写返回值
}

在IUserService接口中创建一个方法

@Override
public Object page(){
    return null;
}

在controller包中新建一个request包,new一个class UserPageRequest 类

再new一个BaseRequest类

package com.example.springboot.controller.request;

import lombok.Data;

@Data
public class BaseRequest {
    private Integer pageNum;
    private Integer pageSize;
} //通用

让UserPageRequest继承BaseRequest类

package com.example.springboot.controller.request;

import lombok.Data;

@Date
public class UserPageRequest extends BaseRequest{
    private String name;
    private String phone;
}

配置

1.UserController

@GetMapping(ov"/page")

public Result page(UserPageRequest userPageRequest){
    userService.page(userPageRequest);
    return Result.success();
}

2.UserController

Object page(UserPageRequest userPageRequest);

3.UserService

@Override
public Object page(UserPageRequest userPageRequest) {
    userMapper.listByCondition(userPageRequest);
    return null;
}  //这一步会有报错,先向下操作

4.创建方法 UserMapper

 条件查询

List<User> listByCondition(UserPageRequest userPageRequest);

5.User.xml

 不是动态的模糊查询语句

<select id="listByCondition" resultType="com.example.springboot.entity.User">
    select * from user where name like concat('%', #{ name }, '%') and phone like concat('%', #{ phone } , '%')

包装成分页对象

在pom.xml中引入一个插件pagehelper 

 在UserService中使用

代码

@Override
public Object page(UserPageRequest userPageRequest) {
    PageHelper.startPage(userPageRequest.getPageNum(),userPageRequest.getPageSize());
    List<User> users = userMapper.listByCondition(userPageRequest);
    return new PageInfo<>(users);
}

UserController中运用

@GetMapping(o"/page")
public Result page(UserPageRequest userPageRequest) {
    return Result.success(userService.page(userPageRequest);
}

修改BaseRequest类的默认值,运行不会报错

 mybatis:(显示日志)

 修改sql语句 ,增加判断条件,达成动态效果

 在localhost:9090/user/page 回车

 显示数据库中的一条语句

 查询条件的增加 

 后台窗口

前端修改

安装插件anxios

 安装成功查看

1.运行窗口

 2.package.json

 在vue中new一个文件 requset.js

封装文件

import axlos from 'axios'

const request = axlos.create({
    baseURL: /api',
    timeout: 5000
})

request.interceptors.request.use( config => {
    config.headers['Content-Type'] = 'application/json;charset=utf-8';
    return config
},     error => {
    return Promise.reject(error)
});

request.interceptors.response.use(
     response => {
    let res = response.data;
    if (typeof res --- 'string') {
    res = res ? JSON.parse(res] : res
}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

绝迹刻本

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值