NoSuchFieldException

前提:操作数据库使用的MybatisPlus,场景是要把三个字段的数据存到数据库里

问题原因:(网上资料所述)

1.本身就没有该Field;

2.有该Field,但是该Field是使用private修饰的,而在获取该Field的时候,需要使用getDeclaredField这个方法。

我属于第一种,原因是数据库有默认的字段(id,创建人id,创建时间,修改人id,修改时间,逻辑删除)是默认不传的,然后前端往后台没有传这几个字段,没有给字段赋值所以就导致了。

解决过程:1. 原因:数据库把上面默认不传的字段封装到了一个实体类里边,实体类只存放着使用

的字段

操作:实体类继承了那个类

2.原因:在service层我使用了insert操作,正常来说,在service是使用save,在mapper层是使用insert,

操作:使用save保存,返回值是boolean

3.原因:此时数据库的九个字段ok了,但是由于我们没有赋值所以出现

NoSuchFieldException的问题,在MybatiPlus是一个方法将这些默认属性进行赋值的。

操作:由于公司封装了一个,所以在这里是使用公司封装的工具类来给那些默认字段进行赋值。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值