1.Mybatis主键异常
异常如下图所示
由于是通过selectKey
生成主键id的数值,此时,mybatis会在主键上生成其默认的uuid的值,比如上面的1455491125125300226
如果UUID的值超过主键id字符串长度,就会报下面的错误
解决办法
在封装属性的时候在主键id的上面加注解@TableId(type = IdType.AUTO)
例如
/*主键*/
@TableId(type = IdType.AUTO)
## 标题 private Integer id;
IdType的其他类型如下
值 | 描述 |
---|---|
Auto | 数据库自增 |
Input | 自行输入 |
ID_Worker | 分布式全局唯一ID 长整型类型 |
UUID | 32位UUID字符串 |
NONE | 无状态 |
ID_WORKER_STR | 分布式全局唯一ID 字符串类型 |
2.文件空指针异常
异常如下图所示
所谓的空指针异常,就是一个指针是空指针,你还要去操作它,既然它指向的是空对象,它就不能使用这个对象的方法。
解决办法
需要在请求的参数上添加一个注解 @RequestParam
,它的作用是将请求的参数绑定到前端控制器方法上的参数上 来接收请求的参数
@PostMapping("/add")
public Object addSong(HttpServletRequest request, @RequestParam("file")MultipartFile mpFile){
JSONObject jsonObject=new JSONObject();
......
}
3.提交表单数据时含有时间格式问题
这里的问题就是传入的时间值不正确
首先我是直接将表单数据封装为一个对象进行传参,由于我的粗心大意,将时间属性设置为String类型,
因此造成了下面的问题,然后一直想着将String类型转为Date类型并设置格式,结果一直是这样的问题
。。。
解决办法
将关于时间的属性设置为Date类型,其实问题就解决了
private Date birth;
最后传参的对象用注解 @RequestBody
@PostMapping("/add")
public SysResult insert(@RequestBody Singer singer){
singerService.insert(singer);
return SysResult.success(1,"添加成功",singer);
}
4.只用git push项目时报错问题
push被拒绝的原因是我的远程仓库有的文件,但是我的本地仓库里面却没有,导致了不一致,所以就会报错。
打开本地的git工具,使用下面两个命令进行合并即可成功!!!
git pull origin master --allow-unrelated-histories
git push origin master
此时我的本地和远程仓库,就达到一致了。本地代码成功提交到远程!!!