Skip to content

Commit 712ac1c

Browse files
committed
feat:add BeanMapper
1 parent f9ad568 commit 712ac1c

File tree

5 files changed

+36
-23
lines changed

5 files changed

+36
-23
lines changed

pom.xml

+6
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,12 @@
6666
<artifactId>commons-lang3</artifactId>
6767
<version>3.12.0</version>
6868
</dependency>
69+
<dependency>
70+
<groupId>ma.glasnost.orika</groupId>
71+
<artifactId>orika-core</artifactId>
72+
<version>1.5.4</version>
73+
</dependency>
74+
<!--test-->
6975
<dependency>
7076
<groupId>org.springframework.boot</groupId>
7177
<artifactId>spring-boot-starter-test</artifactId>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package com.hufe.frame.config;
2+
3+
import ma.glasnost.orika.MapperFactory;
4+
import ma.glasnost.orika.impl.DefaultMapperFactory;
5+
import org.springframework.context.annotation.Bean;
6+
import org.springframework.context.annotation.Configuration;
7+
8+
@Configuration
9+
public class OrikaConfig {
10+
11+
@Bean
12+
public MapperFactory getFactory() {
13+
return new DefaultMapperFactory.Builder().build();
14+
}
15+
16+
}

src/main/java/com/hufe/frame/dataobject/vo/order/OrderShowVO.java

+2
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@
22

33
import com.hufe.frame.model.OrderState;
44
import io.swagger.annotations.ApiModelProperty;
5+
import lombok.AllArgsConstructor;
56
import lombok.Builder;
67
import lombok.Data;
78

89
@Data
910
@Builder
11+
@AllArgsConstructor
1012
public class OrderShowVO {
1113

1214
@ApiModelProperty(value = "订单名称")

src/main/java/com/hufe/frame/service/impl/OrderServiceImpl.java

+6-11
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,24 @@
99
import com.hufe.frame.repository.OrderRepository;
1010
import com.hufe.frame.service.OrderService;
1111
import lombok.extern.slf4j.Slf4j;
12+
import ma.glasnost.orika.MapperFactory;
1213
import org.springframework.beans.factory.annotation.Autowired;
1314
import org.springframework.stereotype.Service;
1415

1516
import javax.persistence.EntityManager;
1617
import javax.persistence.PersistenceContext;
1718
import javax.transaction.Transactional;
1819
import java.util.ArrayList;
19-
import java.util.Collections;
2020
import java.util.List;
2121
import java.util.stream.Collectors;
2222

2323
@Service
2424
@Slf4j
2525
public class OrderServiceImpl implements OrderService {
2626

27+
@Autowired
28+
private MapperFactory mapperFactory;
29+
2730
@Autowired
2831
private OrderRepository orderRepository;
2932

@@ -33,16 +36,8 @@ public class OrderServiceImpl implements OrderService {
3336
@Override
3437
public List<OrderShowVO> findAll() {
3538
List<OrderEntity> orderEntities = orderRepository.findAll();
36-
List<OrderShowVO> result = Collections.emptyList();
37-
if (orderEntities != null) {
38-
result = orderEntities.stream().map(u ->
39-
OrderShowVO.builder()
40-
.name(u.getName())
41-
.state(u.getState())
42-
.build()
43-
).collect(Collectors.toList());
44-
}
45-
return result;
39+
return mapperFactory.getMapperFacade()
40+
.mapAsList(orderEntities, OrderShowVO.class);
4641
}
4742

4843
@Override

src/main/java/com/hufe/frame/service/impl/UserServiceImpl.java

+6-12
Original file line numberDiff line numberDiff line change
@@ -8,34 +8,28 @@
88
import com.hufe.frame.repository.UserRepository;
99
import com.hufe.frame.service.UserService;
1010
import lombok.extern.slf4j.Slf4j;
11+
import ma.glasnost.orika.MapperFactory;
1112
import org.springframework.beans.factory.annotation.Autowired;
1213
import org.springframework.stereotype.Service;
1314

14-
import java.util.Collections;
1515
import java.util.List;
1616
import java.util.Optional;
17-
import java.util.stream.Collectors;
1817

1918
@Service
2019
@Slf4j
2120
public class UserServiceImpl implements UserService {
2221

22+
@Autowired
23+
private MapperFactory mapperFactory;
24+
2325
@Autowired
2426
private UserRepository userRepository;
2527

2628
@Override
2729
public List<UserShowVO> findAll() {
2830
List<UserEntity> userEntities = userRepository.findAll();
29-
List<UserShowVO> result = Collections.emptyList();
30-
if (userEntities != null) {
31-
result = userEntities.stream().map(u ->
32-
UserShowVO.builder()
33-
.id(u.getId())
34-
.name(u.getName())
35-
.build()
36-
).collect(Collectors.toList());
37-
}
38-
return result;
31+
return mapperFactory.getMapperFacade()
32+
.mapAsList(userEntities, UserShowVO.class);
3933
}
4034

4135
@Override

0 commit comments

Comments
 (0)