①如果数据库的属性带有下划线,如下
②实体类代码
1 package com.lian.pojo; 2 3 import com.baomidou.mybatisplus.annotation.IdType; 4 import com.baomidou.mybatisplus.annotation.TableField; 5 import com.baomidou.mybatisplus.annotation.TableId; 6 import java.io.Serializable; 7 import lombok.Data; 8 import lombok.EqualsAndHashCode; 9 import lombok.experimental.Accessors; 10 11 /** 12 * <p> 13 * 14 * </p> 15 * 16 * @author lsx 17 * @since 2024-10-08 18 */ 19 @Data 20 @EqualsAndHashCode(callSuper = false) 21 @Accessors(chain = true) 22 public class Materials implements Serializable { 23 24 private static final long serialVersionUID=1L; 25 26 /** 27 * 物料编号(主键) 28 */ 29 @TableId(value = "material_id", type = IdType.AUTO) 30 private Integer materialId; 31 32 /** 33 * 物料名称 34 */ 35 36 private String materialName; 37 38 /** 39 * 物料可用数量 40 */ 41 private Integer quantity; 42 43 }
③操作方法
在mapper文件中的sql应该是
前面的material_name是数据库中对应的material_name,后面的materialName是实体类中与material_name对应的变量名称!!!!!!!!!!!
④在传递参数时,传递的参数名称应是与实体类中相同的变量名,例如上面这个例子,我需要传递数据库中的material_name和quantity,然后我在apipost中测试时传递的数据应为:
应该与实体类中名字相同
⑤报错信息
(1)如果在mapper文件中如下图所写时(后面values的变量未与实体类对应时,后端会报错对应的material_name没有对应的getter方法
报错信息
(2)如果在apipost中传递数据时,传递参数仍写的是带下划线的属性名(material_name)而不是实体类中的属性名(materialName)的话,会报错material_name属性值为null
如下(错误的情况)
报错信息
总结
数据库中属性带下划线的情况下,需要在后端修改两点