任务需求:将excel表中的数据写入到数据库中
在对execel表对象进行封装的时候,我直接使用mybatis-plus生成的类做完excel的行对象,可是使用过程中我发现在调用EasyExcel的read方法时,拿到的封装对象DemoData总是为空。
EasyExcel.read(fileName, DemoData.class, new DemoHeadDataListener()).sheet().doRead();
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class DemoData extends Model<DemoData>
{
private static final long serialVersionUID = 1L;
private String string;
private Date date;
private Double doubleData;
@Override
protected Serializable pkVal() {
return this.id;
}
}
经过我的调试发现 @Accessors(chain = true)注解导致Read对象为空,在使用过程中,EasyExcel封装的行对象时不应该使用@Accessors(chain = true)注解。
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class DemoData extends Model<DemoData>
{
private static final long serialVersionUID = 1L;
private String string;
private Date date;
private Double doubleData;
@Override
protected Serializable pkVal() {
return this.id;
}
}