Skip to content

Commit c52ab26

Browse files
committed
PART07: jex06 - VO, Mapper 재생성 및 패키지 구조 변경
mybatis-dynamic-sql 라이브러리에 의해, 자동 생성되는 VO, Mapper등은 별도의 generated 패키지에 생성되도록 하고, 커스터마이징이 필요할 경우 DTO로 분리, Mapper 추가 정의로 대응했다. 결국 목표는... mvn mybatis-generator:generate 위 명령으로 VO, Mapper들을 재생성하더라도 프로젝트에 영향을 최소화하기 위해 분리함
1 parent 906ab1f commit c52ab26

22 files changed

Lines changed: 610 additions & 553 deletions

part07/jex06/generatorConfig.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<!DOCTYPE generatorConfiguration PUBLIC
33
"-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
4-
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
4+
"https://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
55
<generatorConfiguration>
66
<!-- MyBatis Dynamic SQL Library를 사용. XML매퍼는 생성하지 않음. -->
77
<!-- 참조: https://mybatis.org/generator/quickstart.html -->
@@ -14,6 +14,7 @@
1414
<!-- 자동생성 주석 금지 -->
1515
<commentGenerator>
1616
<property name="suppressAllComments" value="true"/>
17+
<property name="useLegacyGeneratedAnnotation" value="true"/>
1718
</commentGenerator>
1819

1920
<jdbcConnection
@@ -25,15 +26,15 @@
2526

2627
<!-- Java 도메인 모델 생성 -->
2728
<javaModelGenerator
28-
targetPackage="org.fp024.domain"
29+
targetPackage="org.fp024.domain.generated"
2930
targetProject="src/main/java"> <!-- eclipse의 generator에서는 프로젝트 폴더명부터 시작해야하지만, Maven 플러그인으로 실행시는 src부터 시작한다. -->
3031
<property name="enableSubPackages" value="true"/>
3132
<property name="trimStrings" value="true"/>
3233
</javaModelGenerator>
3334

3435
<!-- 메퍼 인터페이스 (레파지토리 인터페이스 ) -->
3536
<javaClientGenerator
36-
targetPackage="org.fp024.mapper"
37+
targetPackage="org.fp024.mapper.generated"
3738
targetProject="src/main/java">
3839
<property name="enableSubPackages" value="true"/>
3940
</javaClientGenerator>
@@ -61,7 +62,6 @@
6162
</table>
6263

6364

64-
6565
<!--
6666
타켓 테이블 - 권한 테이블
6767
ex06 프로젝트에서는 회원테이블과 권한테이블을 JOIN해서 회원정보를 가져왔기 때문에,

part07/jex06/src/main/java/org/fp024/config/RootConfig.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public HikariDataSource dataSource(
4040
public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
4141
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
4242
sqlSessionFactoryBean.setDataSource(dataSource);
43-
sqlSessionFactoryBean.setTypeAliasesPackage("org.fp024.domain");
43+
sqlSessionFactoryBean.setTypeAliasesPackage("org.fp024.domain.generated,org.fp024.domain");
4444
return sqlSessionFactoryBean.getObject();
4545
}
4646

part07/jex06/src/main/java/org/fp024/config/SecurityConfig.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
package org.fp024.config;
22

3-
import static org.springframework.security.web.util.matcher.AntPathRequestMatcher.antMatcher;
4-
53
import javax.sql.DataSource;
64
import lombok.RequiredArgsConstructor;
75
import lombok.extern.slf4j.Slf4j;
86
import org.fp024.security.CustomLoginSuccessHandler;
97
import org.fp024.security.CustomUserDetailsService;
8+
import org.fp024.service.MemberService;
109
import org.fp024.type.MemberAuthType;
1110
import org.springframework.context.annotation.Bean;
1211
import org.springframework.context.annotation.Configuration;
@@ -96,8 +95,8 @@ public UserDetailsManager users(DataSource dataSource) {
9695
*/
9796

9897
@Bean
99-
public UserDetailsService customUserDetailsService() {
100-
return new CustomUserDetailsService();
98+
public UserDetailsService customUserDetailsService(MemberService memberService) {
99+
return new CustomUserDetailsService(memberService);
101100
}
102101

103102
@Bean

part07/jex06/src/main/java/org/fp024/domain/AuthVO.java

Lines changed: 0 additions & 15 deletions
This file was deleted.
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package org.fp024.domain;
2+
3+
import java.util.List;
4+
import lombok.Getter;
5+
import lombok.Setter;
6+
import lombok.ToString;
7+
import org.fp024.domain.generated.AuthVO;
8+
import org.fp024.domain.generated.MemberVO;
9+
10+
/**
11+
* 회원 DTO
12+
*/
13+
@Getter
14+
@Setter
15+
@ToString
16+
public class MemberDTO {
17+
private MemberVO memberVO;
18+
private List<AuthVO> authList;
19+
}

part07/jex06/src/main/java/org/fp024/domain/MemberVO.java

Lines changed: 0 additions & 28 deletions
This file was deleted.
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package org.fp024.domain.generated;
2+
3+
import javax.annotation.Generated;
4+
import org.fp024.type.MemberAuthType;
5+
6+
public class AuthVO {
7+
@Generated("org.mybatis.generator.api.MyBatisGenerator")
8+
private String userId;
9+
10+
@Generated("org.mybatis.generator.api.MyBatisGenerator")
11+
private MemberAuthType auth;
12+
13+
@Generated("org.mybatis.generator.api.MyBatisGenerator")
14+
public String getUserId() {
15+
return userId;
16+
}
17+
18+
@Generated("org.mybatis.generator.api.MyBatisGenerator")
19+
public void setUserId(String userId) {
20+
this.userId = userId == null ? null : userId.trim();
21+
}
22+
23+
@Generated("org.mybatis.generator.api.MyBatisGenerator")
24+
public MemberAuthType getAuth() {
25+
return auth;
26+
}
27+
28+
@Generated("org.mybatis.generator.api.MyBatisGenerator")
29+
public void setAuth(MemberAuthType auth) {
30+
this.auth = auth;
31+
}
32+
33+
@Override
34+
@Generated("org.mybatis.generator.api.MyBatisGenerator")
35+
public String toString() {
36+
StringBuilder sb = new StringBuilder();
37+
sb.append(getClass().getSimpleName());
38+
sb.append(" [");
39+
sb.append("Hash = ").append(hashCode());
40+
sb.append(", userId=").append(userId);
41+
sb.append(", auth=").append(auth);
42+
sb.append("]");
43+
return sb.toString();
44+
}
45+
}
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
package org.fp024.domain.generated;
2+
3+
import java.time.LocalDateTime;
4+
import javax.annotation.Generated;
5+
import org.fp024.type.EnabledType;
6+
7+
public class MemberVO {
8+
@Generated("org.mybatis.generator.api.MyBatisGenerator")
9+
private String userId;
10+
11+
@Generated("org.mybatis.generator.api.MyBatisGenerator")
12+
private String userPassword;
13+
14+
@Generated("org.mybatis.generator.api.MyBatisGenerator")
15+
private String userName;
16+
17+
@Generated("org.mybatis.generator.api.MyBatisGenerator")
18+
private LocalDateTime registerDate;
19+
20+
@Generated("org.mybatis.generator.api.MyBatisGenerator")
21+
private LocalDateTime updateDate;
22+
23+
@Generated("org.mybatis.generator.api.MyBatisGenerator")
24+
private EnabledType enabled;
25+
26+
@Generated("org.mybatis.generator.api.MyBatisGenerator")
27+
public String getUserId() {
28+
return userId;
29+
}
30+
31+
@Generated("org.mybatis.generator.api.MyBatisGenerator")
32+
public void setUserId(String userId) {
33+
this.userId = userId == null ? null : userId.trim();
34+
}
35+
36+
@Generated("org.mybatis.generator.api.MyBatisGenerator")
37+
public String getUserPassword() {
38+
return userPassword;
39+
}
40+
41+
@Generated("org.mybatis.generator.api.MyBatisGenerator")
42+
public void setUserPassword(String userPassword) {
43+
this.userPassword = userPassword == null ? null : userPassword.trim();
44+
}
45+
46+
@Generated("org.mybatis.generator.api.MyBatisGenerator")
47+
public String getUserName() {
48+
return userName;
49+
}
50+
51+
@Generated("org.mybatis.generator.api.MyBatisGenerator")
52+
public void setUserName(String userName) {
53+
this.userName = userName == null ? null : userName.trim();
54+
}
55+
56+
@Generated("org.mybatis.generator.api.MyBatisGenerator")
57+
public LocalDateTime getRegisterDate() {
58+
return registerDate;
59+
}
60+
61+
@Generated("org.mybatis.generator.api.MyBatisGenerator")
62+
public void setRegisterDate(LocalDateTime registerDate) {
63+
this.registerDate = registerDate;
64+
}
65+
66+
@Generated("org.mybatis.generator.api.MyBatisGenerator")
67+
public LocalDateTime getUpdateDate() {
68+
return updateDate;
69+
}
70+
71+
@Generated("org.mybatis.generator.api.MyBatisGenerator")
72+
public void setUpdateDate(LocalDateTime updateDate) {
73+
this.updateDate = updateDate;
74+
}
75+
76+
@Generated("org.mybatis.generator.api.MyBatisGenerator")
77+
public EnabledType getEnabled() {
78+
return enabled;
79+
}
80+
81+
@Generated("org.mybatis.generator.api.MyBatisGenerator")
82+
public void setEnabled(EnabledType enabled) {
83+
this.enabled = enabled;
84+
}
85+
86+
@Override
87+
@Generated("org.mybatis.generator.api.MyBatisGenerator")
88+
public String toString() {
89+
StringBuilder sb = new StringBuilder();
90+
sb.append(getClass().getSimpleName());
91+
sb.append(" [");
92+
sb.append("Hash = ").append(hashCode());
93+
sb.append(", userId=").append(userId);
94+
sb.append(", userPassword=").append(userPassword);
95+
sb.append(", userName=").append(userName);
96+
sb.append(", registerDate=").append(registerDate);
97+
sb.append(", updateDate=").append(updateDate);
98+
sb.append(", enabled=").append(enabled);
99+
sb.append("]");
100+
return sb.toString();
101+
}
102+
}

0 commit comments

Comments
 (0)