一.最让人头疼的问题:异常
异常1:Caused by: java.lang.ClassNotFoundException: Cannot find class: 类名
直接将异常放到最后会出现这样的异常报错
报错代码
<update id="teaUpdate" parameterType="Tea">
update teacher
<set >
<if test="t_name!=null">t_name=#{tName,jdbcType=VARCHAR},</if>
<if test="t_num!=null">t_num=#{tNum,jdbcType=INTEGER},</if>
<if test="t_class!=null">t_class=#{tClass,jdbcType=VARCHAR},</if>
<if test="t_pass!=null">
t_pass=#{tPass,jdbcType=VARCHAR}
</if>
</set>
where id=#{id,jdbcType=INTEGER}
</update>
我推荐两种解决方案一是:
将第一行代码加上完整的路径名
<update id="teaUpdate" parameterType="cn.zcbigdata.mybits.entity.Tea">
第二种在: application.yml中解决
找到相应的位置加上这句话。
异常2:Description:
Field leavesMapper in cn.zcbigdata.mybitsdemo.service.Impl.LeavesServiceImpl required a bean of type 'cn.zcbigdata.mybitsdemo.mapper.LeavesMapper' that could not be found.
The injection point has the following annotations:
- @org.springframework.beans.factory.annotation.Autowired(required=true)
Action:
Consider defining a bean of type 'cn.zcbigdata.mybitsdemo.mapper.LeavesMapper' in your configuration.
这个就是你要是修改了这个包名,记得也把 MybitsDemoApplication启动文件改掉
当然重构的时候也会自动改掉generator.xml里的内容
<javaModelGenerator targetPackage="cn.zcbigdata.mybits.entity"
targetProject="E:\springBoot\mybaits_demo\src\main\java">
当然要是你用了异常一里的第二种方法修改异常一,记得也需要改变包名。
异常3:Description:
Field filepathService in cn.zcbigdata.mybitsdemo.controller.UploadController required a bean of type 'cn.zcbigdata.mybitsdemo.service.FilepathService' that could not be found.
The injection point has the following annotations:
- @org.springframework.beans.factory.annotation.Autowired(required=true)
Action:
Consider defining a bean of type 'cn.zcbigdata.mybitsdemo.service.FilepathService' in your configuration.
这个异常就很简单了,记得你在写代码时候注意不要忘记写相应的注解,否则在调用时候就会报这样的错误,注解如下:
如上图在 StudenServiceImpl加上@Service就可以轻而易举的解决问题。
下一章我会给出调式错误的一般方法,不过在那之前我们还是先来看一下注解
@Deprecated:若某类或某方法加上该注解之后,表示此方法或类不再建议使用,调用时也会出现删除线,但并不代表不能用,只是说,不推荐使用,因为还有更好的方法可以调用。
@RequestParam:将请求参数绑定到你控制器的方法参数上(是springmvc中接收普通参数的注解)
-
语法:@RequestParam(value=”参数名”,required=”true/false”,defaultValue=””)
-
required:是否包含该参数,默认为true,表示该请求路径中必须包含该参数,如果不包含就报错。
更多注解百度一下spring boot常用注解就好了。
当然学到这里我们也应该不在自己拼写json了。当然除了gson和fastjson外我们也可以自己创建类来实现json ,而且这样的json更符合自己想要的格式
public class LayuiResult {
/**
* "[{\"status\":0}, {\"message\": \"鎴愬姛\" }, {\"count\": 1000},{\"rows\":{\"item\":[";
*/
private int status;
private String message;
private int count;
private Object data;
public static LayuiResult ok(Object data){
LayuiResult layuiResult= new LayuiResult();
layuiResult.setStatus(0);
layuiResult.setMessage("chenggomh");
layuiResult.setCount(1000);
layuiResult.setData(data);
return layuiResult;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
@Override
public String toString() {
return "LayuiResult{" +
"status=" + status +
", message='" + message + '\'' +
", count=" + count +
", data=" + data +
'}';
}
public static void main(String[] args) {
LayuiResult layuiResult = LayuiResult.ok("[{\"姓名\":\"王小明\"}]");
System.out.println(layuiResult);
}
}
好了谢谢观看