Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java @映射@Mapper错误不存在源参数_Java_Spring Boot_Mapping_Mapstruct - Fatal编程技术网

Java @映射@Mapper错误不存在源参数

Java @映射@Mapper错误不存在源参数,java,spring-boot,mapping,mapstruct,Java,Spring Boot,Mapping,Mapstruct,我一直在将我的项目从spring转移到spring Boot,并引入嵌入式tomcat。我必须做一些调整,这是我在旧项目“我有映射器接口”中面临的唯一问题 当我编译项目时,它开始给出错误 错误:(12,5)java:源参数中不存在名为“schoolId”的属性。 我已经搜索了很多关于它的内容,有人说,lombok在pom中的依赖项放置,我尝试在map struct依赖项之前和之后放置它,但错误仍然存在 下面是我的课 以下是我面临的错误 @Shermeen您能分享您配置的代码吗 所以我们交叉验证

我一直在将我的项目从spring转移到spring Boot,并引入嵌入式tomcat。我必须做一些调整,这是我在旧项目“我有映射器接口”中面临的唯一问题

当我编译项目时,它开始给出错误

错误:(12,5)java:源参数中不存在名为“schoolId”的属性。

我已经搜索了很多关于它的内容,有人说,lombok在pom中的依赖项放置,我尝试在map struct依赖项之前和之后放置它,但错误仍然存在

下面是我的课

以下是我面临的错误


@Shermeen您能分享您配置的代码吗

所以我们交叉验证它。我仍然添加了这个示例,请检查它

结构

EntityMapper.java
公共接口实体映射器{
E实体(D dto);
托德·托德(实体);
实体列表(列表数据列表);
列表toDTO(列表实体列表);
}
UserMapper.java
import com.ecommerce.auth_service.domain.external_db.User;
导入com.ecommerce.auth_service.domain.external_db.dto.UserDTO;
导入org.mapstruct.Mapper;
导入org.mapstruct.Mapping;
导入java.util.UUID;
@映射器(componentModel=“spring”,使用={UserMapper.class})
公共接口UserMapper扩展了EntityMapper{
@映射(source=“user\u id”,target=“user”)
默认用户fromId(UUID id){
if(id==null)
返回null;
用户=新用户();
user.setUserId(id);
返回用户;
}
}
UserMapperImpl.java
import com.ecommerce.auth_service.domain.external_db.User;
导入com.ecommerce.auth_service.domain.external_db.dto.UserDTO;
导入com.ecommerce.auth_service.domain.external_db.mapper.UserMapper;
导入org.springframework.stereotype.Component;
导入java.util.ArrayList;
导入java.util.List;
@组成部分
公共类UserMapperImpl实现UserMapper{
@凌驾
公共用户到实体(UserDTO到dto){
if(dto==null)
返回null;
用户=新用户();
user.setUserId(dto.getUserId());
user.setUsername(dto.getUsername());
user.setEmail(dto.getEmail());
user.setPassword(dto.getPassword());
user.setPhoneNo(dto.getPhoneNumber());
user.setStatus(dto.getStatus());
user.setStore(dto.getStoreId());
user.setAuthority(dto.getAuthority());
user.setPrivileges(dto.getAuthority().getPrivileges());
返回用户;
}
@凌驾
公共用户DTO toDTO(用户实体){
if(实体==null){
返回null;
}
UserDTO UserDTO=新UserDTO();
userDTO.setUserId(entity.getUserId());
userDTO.setUsername(entity.getUsername());
userDTO.setEmail(entity.getEmail());
userDTO.setPassword(entity.getPassword());
userDTO.setPhoneNumber(entity.getPhoneNo());
userDTO.setStatus(entity.getStatus());
userDTO.setStoreId(entity.getStore());
entity.getAuthority().setPrivileges(entity.getPrivileges());
userDTO.setAuthority(entity.getAuthority());
userDTO.setCreatedBy(entity.getCreatedBy());
userDTO.setCreatedDate(entity.getCreatedDate());
userDTO.setModifiedBy(entity.getModifiedBy());
userDTO.setModifiedDate(entity.getModifiedDate());
返回userDTO;
}
@凌驾
实体公共列表(列表数据列表){
if(dtoList==null | | dtoList.isEmpty())
返回null;
List userList=newarraylist(dtoList.size());
for(UserDTO UserDTO:dtoList){
添加(toEntity(userDTO));
}
返回用户列表;
}
@凌驾
公共列表toDTO(列表实体列表){
if(entityList==null)
返回null;
List userDTOList=newarraylist(entityList.size());
for(用户:entityList){
添加(toDTO(user));
}
返回userDTOList;
}
}

@Shermeen您能分享您配置的代码吗

所以我们交叉验证它。我仍然添加了这个示例,请检查它

结构

EntityMapper.java
公共接口实体映射器{
E实体(D dto);
托德·托德(实体);
实体列表(列表数据列表);
列表toDTO(列表实体列表);
}
UserMapper.java
import com.ecommerce.auth_service.domain.external_db.User;
导入com.ecommerce.auth_service.domain.external_db.dto.UserDTO;
导入org.mapstruct.Mapper;
导入org.mapstruct.Mapping;
导入java.util.UUID;
@映射器(componentModel=“spring”,使用={UserMapper.class})
公共接口UserMapper扩展了EntityMapper{
@映射(source=“user\u id”,target=“user”)
默认用户fromId(UUID id){
if(id==null)
返回null;
用户=新用户();
user.setUserId(id);
返回用户;
}
}
UserMapperImpl.java
import com.ecommerce.auth_service.domain.external_db.User;
导入com.ecommerce.auth_service.domain.external_db.dto.UserDTO;
导入com.ecommerce.auth_service.domain.external_db.mapper.UserMapper;
导入org.springframework.stereotype.Component;
导入java.util.ArrayList;
导入java.util.List;
@组成部分
公共类UserMapperImpl实现UserMapper{
@凌驾
公共用户到实体(UserDTO到dto){
if(dto==null)
返回null;
用户=新用户();
user.setUserId(dto.getUserId());
user.setUsername(dto.getUsername());
user.setEmail(dto.getEmail());
user.setPassword(dto.getPassword());
user.setPhoneNo(dto.getPhoneNumber());
user.setStatus(dto.getStatus());
user.setStore(dto.getStoreId());
user.setAuthority(dto.getAuthority());
user.setPrivileges(dto.getAuthority().getPrivileges());
返回用户;
}
@凌驾
公共用户DTO toDTO(用户实体){
if(实体==null){
返回null;
}
UserDTO UserDTO=新UserDTO();
userDTO.setUserId(entity.getUserId());
userDTO.setUsername(entity.getUsername());
userDTO.setEmail(entity.getEmail());
userDTO.setPassword(entity.getPassword());
userDTO.setPhoneNumber(entity.getPhoneNo());
userDTO.setStatus(entity.getStatus());
public interface EntityMapper<D, E> {
  E toEntity(D dto);
  D toDTO(E entity);
  List<E> toEntity(List<D> dtoList);
  List<D> toDTO(List<E> entityList);
}
import com.ecommerce.auth_service.domain.external_db.User;
import com.ecommerce.auth_service.domain.external_db.dto.UserDTO;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;

import java.util.UUID;

@Mapper(componentModel = "spring", uses = {UserMapper.class})
public interface UserMapper extends EntityMapper<UserDTO, User> {

  @Mapping(source = "user_id", target = "user")

  default User fromId(UUID id) {
    if (id == null)
      return null;
    User user = new User();
    user.setUserId(id);
    return user;
  }
}
import com.ecommerce.auth_service.domain.external_db.User;
import com.ecommerce.auth_service.domain.external_db.dto.UserDTO;
import com.ecommerce.auth_service.domain.external_db.mapper.UserMapper;
import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.List;

@Component
public class UserMapperImpl implements UserMapper {
  @Override
  public User toEntity(UserDTO dto) {
    if (dto == null)
      return null;

    User user = new User();
    user.setUserId(dto.getUserId());
    user.setUsername(dto.getUsername());
    user.setEmail(dto.getEmail());
    user.setPassword(dto.getPassword());
    user.setPhoneNo(dto.getPhoneNumber());
    user.setStatus(dto.getStatus());
    user.setStore(dto.getStoreId());
    user.setAuthority(dto.getAuthority());
    user.setPrivileges(dto.getAuthority().getPrivileges());

    return user;
  }

  @Override
  public UserDTO toDTO(User entity) {
    if (entity == null) {
      return null;
    }

    UserDTO userDTO = new UserDTO();

    userDTO.setUserId(entity.getUserId());
    userDTO.setUsername(entity.getUsername());
    userDTO.setEmail(entity.getEmail());
    userDTO.setPassword(entity.getPassword());
    userDTO.setPhoneNumber(entity.getPhoneNo());
    userDTO.setStatus(entity.getStatus());
    userDTO.setStoreId(entity.getStore());

    entity.getAuthority().setPrivileges(entity.getPrivileges());
    userDTO.setAuthority(entity.getAuthority());

    userDTO.setCreatedBy(entity.getCreatedBy());
    userDTO.setCreatedDate(entity.getCreatedDate());
    userDTO.setModifiedBy(entity.getModifiedBy());
    userDTO.setModifiedDate(entity.getModifiedDate());

    return userDTO;
  }

  @Override
  public List<User> toEntity(List<UserDTO> dtoList) {
    if (dtoList == null || dtoList.isEmpty())
      return null;
    List<User> userList = new ArrayList<>(dtoList.size());
    for (UserDTO userDTO : dtoList) {
      userList.add(toEntity(userDTO));
    }
    return userList;
  }

  @Override
  public List<UserDTO> toDTO(List<User> entityList) {
    if (entityList == null)
      return null;
    List<UserDTO> userDTOList = new ArrayList<>(entityList.size());
    for (User user : entityList) {
      userDTOList.add(toDTO(user));
    }
    return userDTOList;
  }
}