mirror of
https://github.com/suyiiyii/SIMS.git
synced 2025-06-03 12:56:10 +08:00
44 lines
1.7 KiB
Java
44 lines
1.7 KiB
Java
package top.suyiiyii.sims.common;
|
|
|
|
import org.modelmapper.ModelMapper;
|
|
import org.modelmapper.convention.MatchingStrategies;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Configuration;
|
|
|
|
/**
|
|
* @Author tortoise
|
|
* @Date 2024/8/20 21:19
|
|
* @PackageName:top.suyiiyii.sims.common
|
|
* @ClassName: ModelMapperConfig
|
|
* @Description: TODO
|
|
* @Version 1.0
|
|
*/
|
|
@Configuration
|
|
public class ModelMapperConfig {
|
|
@Bean
|
|
public ModelMapper modelMapper() {
|
|
ModelMapper modelMapper = new ModelMapper();
|
|
// 设置完全匹配
|
|
modelMapper.getConfiguration().setFullTypeMatchingRequired(true);
|
|
|
|
// 设置匹配策略为严格模式
|
|
modelMapper.getConfiguration().setMatchingStrategy(MatchingStrategies.STRICT);
|
|
// configureUser(modelMapper);
|
|
return modelMapper;
|
|
}
|
|
|
|
// 配置 User 类的映射规则
|
|
private void configureUser(ModelMapper modelMapper) {
|
|
// 定义 UserModel -> User 的映射规则
|
|
// modelMapper.typeMap(RecordDto.class, Record.class)
|
|
|
|
// 跳过设置密码字段
|
|
// 定义 User -> UserModel 的映射规则
|
|
// modelMapper.typeMap(User.class, RecordDto.class)
|
|
// .addMappings(mapper -> mapper.skip(RecordDto::setPassword)) // 跳过设置密码字段
|
|
// .addMappings(mapper -> mapper.map(User::getRealName, UserModel::setName)); // 将 User 的 realName 映射为 UserModel 的 name
|
|
// .addMappings(mapper -> mapper.using(dateToStringConverter).map(User::getCreateTime, UserModel::setCreateTime))
|
|
// .addMappings(mapper -> mapper.using(dateToStringConverter).map(User::getUpdateTime, UserModel::setUpdateTime));
|
|
}
|
|
}
|