안녕하세요. 오늘 웹 프로그래밍, 다시 적어보는군요.
우리가 만든, 사용자, 기업 회원, 관리자. 이렇게 사용되며, 기업회원의 근로 제공서비스가 어떻게 되어야 하는지 잘 생각해 볼 필요가 있습니다.
사용자는 3가지의 형태로 구분되며, 3가지를 모두 가질 수 있는 형태입니다. 각각 주소와 연락처를 가질 수 있겠죠? 주소와 연락처를 각 Role클래스에 추가해주는데, 주소는 반복되기 때문에 데이터로 만들어 줌니다.
엔티티에, Role클래스가 연결되어 있고, 각 Role클래스마다 연락처와 주소를 넣어주었습니다.
서비스를 실제 구현할 때에, 이러한 형태를 고려해야겠죠~.
형식은 이렇습니다.
마이페이지 구현--
1. 컨트롤러에서, 세션을 불러온다.
org.example.MyPageController.mypageIndex()
2. 세션에서 Role정보를 빼내온다.
3-1. 연락처와 주소정보가 있는 경우, 연락처와 주소정보를 보여준다. 수정하기가 가능하게 해준다.
3-2. 연락처와 주소정보가 없는 경우, 새로 생성하는 폼을 보여준다.
엔티티마다의 상관관계는, 쉽게 생각해서 데이터를 확장한다라고 생각하시면 될검니다. 좀 더 상세하거나, 분류해야할 필요가 있는 데이터... 중복이 되는 데이터의 경우에 그렇겠죠~.
연락처와 주소의 경우는 중복이 됨니다. 그렇기 때문에, 각각의 엔티티로 만들고, 이 id를 ManyToOne으로 연결시켜주면 되는 것이죠.
나머지의 로직들은, 데이터의 CRUD이거나, model객체에 데이터를 저장해서, View페이지에 값을 넘기고 하는 반복이기 때문에 생략했습니다.
널체크로 인해서 코드 길이가 길어지는 것 같아요~.
공부해보세요. 지금의 경우에는, 그냥 지나가도 괜찮다고 생각해봄니다. 하나하나 소스코드를 보는 것도 필요하겠죠. 시간이 걸리고, 실제로 서비스를 구축할 때에 이런 형태의 개발이 있다. 이렇게 생각하는 것이 좋은 것 같습니다.
능률상으로 빠르지 않지만, 이런 개발을 할 필요는 있다. 이렇게 이야기할 수 있겠네요.
익숙해지는 것이 필요하겠죠~. 다음에는 마이페이지를 심화해서, 회원 정보라는 네비게이션을 만들고, 그 안에 집어 넣도록 해볼게요.
https://github.com/infott2t/ex05-springboot-querydsl
GitHub - infott2t/ex05-springboot-querydsl
Contribute to infott2t/ex05-springboot-querydsl development by creating an account on GitHub.
github.com
웹 디자인을 미리 만드는 것이 개발에 효율이 더 높을까 생각해봄니다.
공부해봅시다. 좋은 하루되세요.
--
저의 글, 봐 주셔서 감사합니다.
'프로그래밍' 카테고리의 다른 글
[웹앱 디자인] 스프링부트JPA 7. 개발방식, 데이터를 게시판 CRUD화 하기. CRUD프로젝트 생성. (0) | 2023.01.09 |
---|---|
[웹앱 디자인] 스프링부트JPA 6. 개발 방식- 앱화면 기초, 템플릿 만들기. (0) | 2023.01.08 |
[웹 프로그래밍] 스프링부트JPA 4. 세션, Role(역할)에 따라, 페이징해주기. - 롤 역할 별 페이지 뷰 만들기. (2) | 2023.01.05 |
[웹 프로그래밍] 스프링부트JPA 3. 스프링 시큐리티와 OAuth2.0. 간편로그인 구현하기. (2) | 2023.01.04 |
[웹 프로그래밍] 스프링부트JPA 2. 엔티티 심화. 맵핑하고, 타임리프 each문 작성해서 리스트 출력하기. (2) | 2023.01.02 |