1.注意:
import org.mapstruct.Mapper; 和 import org.apache.ibatis.annotations.Mapper; 引入错误会报
java: Can't generate mapping method with primitive return type.
2.当对数据进行拷贝的时候,修改了po,直接在控制台输入:PS D:\workspace\asdre-biz-ltq> mvn clean compile
import com.asdre.biz.ltq.common.model.po.QuestionStorePO;
import com.asdre.biz.ltq.common.model.req.QuestionStoreUpdateReq;
import com.asdre.biz.ltq.common.model.vo.EvaProgressVO;
import com.asdre.biz.ltq.common.model.vo.QuestionStoreVO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import java.util.List;
/**
* @author : xiaosheng
* @description :
* @createDate : 2025/6/5 15:35
*/
@Mapper
public interface QuestionStoreConvert {
QuestionStoreConvert INSTANCE = Mappers.getMapper(QuestionStoreConvert.class);
/**
* req转po
*
* @param req
* @return
*/
QuestionStorePO req2po(QuestionStoreUpdateReq req);
}
🚨 由 MapStruct 注解处理器生成的类。⚠️ 它不是你手写的类,每次你修改接口、VO、PO 时,它需要重新执行编译处理器才能更新实现类。DictConvertImpl 没有刷新?
通常有以下几种原因:
✅ 解决方法(推荐按顺序试):
✅ 方法 1:清理并重新构建项目
适用于 Maven 项目:
mvn clean compile或如果你使用了 IDEA:
点击顶部菜单
Build→Rebuild Project
3.对Long数据类型进行String操作
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
/**
* @author : xiaosheng
* @description :
* @createDate : 2025/6/20 9:01
*/
@Data
public class DictNameVO {
/**
* 题目id
*/
@JsonSerialize(using = ToStringSerializer.class)
private Long dictId;
/**
* 字典名称
*/
private String name;
/**
* 生日
*/
@JsonFormat(timezone = Constants.TIMEZONE, pattern = Constants.DATE_PATTERN)
private Date birthday;
/**
* 单词对应的音素
*/
@JsonIgnore
private String phones;
}