1.问题:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
解决方法:查看是否写了mapper扫描,是否配置了mybatis的mapper路径,如下图所示
2.org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'userName' not found. Available parameters are [arg1, arg0, param1, param2]
问题:无法找到绑定的多个变量
解决方法:多变量时我们需要在mapper中使用@Param注解绑定变量,否则无法识别多个变量,如下图所示
3.如何做简易的全局异常处理
为什么要使用全局异常处理?方便我们进行定制化处理,这里只是简单的封装了一层,这样我们就不需要在返回的时候返回一个String类型来判断是否成功,直接调用方法即可。
package com.lzy.vueblog.common.lang;
import lombok.Data;
import java.io.Serializable;
/**
* @author: lzy
* @description: 全局异常处理
* @date: 2021-03-19-10:40
*/
//Serializable 把对象转换为字节序列的过程称为对象的序列化
@Data
public class Result implements Serializable {
private int code;//200正常,其他异常
private String msg;
private Object data;
//设定静态方法,方便全局访问
public static Result mySuccess(Object data){
return mySuccess(200,"操作成功",data);
}
public static Result mySuccess(int code,String msg,Object data){
Result result = new Result();
result.setCode(code);
result.setMsg(msg);
result.setData(data);
return result;
}
public static Result myFail(String msg){
return myFail(400,msg,null);
}
public static Result myFail(int code,String msg,Object data){
Result result = new Result();
result.setCode(code);
result.setMsg(msg);
result.setData(data);
return result;
}
}
这时我们返回数据直接使用上述方法即可