问题截图如下,可发现select语句执行返回的结果正常,但将该实体类输出时却发现其为NULL。
以下是MySQL中数据库表字段名信息
刚开始我以为是实体类的属性名与数据库表字段的映射关系出现异常,而后我尝试使用@TableFiled注解对实体类的属性名进行映射
但却发现getById返回结果依然为NULL,而后尝试手写SQL发现,结果依然如此
最后发现在MyBatis-Plus中,实体类的属性名不能带下划线,否则MP的映射就会发生异常;而且在使用@TableFiled 时需要不能通过手写SQL的方式,因为通过手写SQL的方式MP不能将别名语句补到该SQL语句中,从而失效
最后将该实体类的属性名改为如下即正常输出
所以下次在设定属性名一定要遵守驼峰命名法呀...由于该项目代码是我的一位导师发给我的,我当时拿到代码也没去注意属性名不规范的问题(不是甩锅)改了一晚上,非常痛苦。