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
}