天天看點

Orika使用

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;
    }
}