1,引入jar
<dependency>
<groupId>ma.glasnost.orika</groupId>
<artifactId>orika-core</artifactId>
<orika.version>1.5.2</orika.version>
</dependency>
2,映射
public class DDCustomMapper extends CustomMapper<Dept, DepartEntity> {
@Override
public void mapAtoB(Dept dept, DepartEntity department, MappingContext context) {
department.setId(dept.getId());
.....
}
@Override
public void mapBtoA(DepartEntity department, Dept dept, MappingContext context) {
dept.setId(department.getId());
}
3,使用
@Slf4j
@Service
@Transactional
public class DeptServiceImpl extends AbstractNoahServiceImpl<IDeptDAO, Dept> implements IDeptService {
private static final MapperFactory MAPPER_FACTORY = new DefaultMapperFactory.Builder().build();
static {
MAPPER_FACTORY.classMap(Dept.class, DepartEntity.class)
.customize(new DeptCustomMapper())
.byDefault().register();
}
@Override
public Boolean batchInsert(List<DepartEntity> departments) {
try {
List<Dept> depts = MAPPER_FACTORY.getMapperFacade().mapAsList(departments, Dept.class);
} catch (Exception e) {
log.error( e.getMessage());
}
return Boolean.FALSE;
}
}