Appearance
서버폴더구조
업무용 프로그램
com.vmerp.business
패키지 하위에 업무의 모듈별로 작성한다.
model 패키지
model은 db 테이블에 대응하는 java bean 프로그램으로 다른 여러 프로그램 패키지에서 참조하므로 모듈별 최상위에 model
패키지에 작성한다.
최상위 model
에는 테이블에 존재하는 컬럼의 필드만 작성하고 추가할 필드가 있으면 프로그램 패키지에 기본 java bean을 extends 한다.
개별 프로그램 패키지
프로그램당 하나의 패키지에 Controller
, Service
, Mapper
, Param
파일을 작성한다.
└─java
└─com
└─vmerp
└─business
└─sys
├─bean
└─program_mgm
└─program_reg
├─ ProgramQueryParam.java // 조회용 파라미터와
├─ ProgramSaveParam.java // 저장용 파라미터로 나누거나
├─ ProgramParam.java // 조회 + 저장용 파라미터 하나로
├─ ProgramRegController.java
├─ ProgramRegMapper.java
└─ ProgramRegService.java
mapper
Mapper.xml은 /smart-lite/src/main/resources/mappers/
아래에 모듈별로 프로그램의 Mapper.xml을 작성한다.
Mapper.xml은 프로그램 패키지의 규칙으로 프로그램 이름으로 각각의 폴더를 만들면 폴더에 파일하나만 있는 경우가 생기므로 상위 폴더에 모아서 작성한다.
전체 폴더 모양
├─java
│ ├─com
│ │ └─vmerp
│ │ ├─business // 업무 프로그램 최상위 폴더
│ │ │ ├─common // 업무 공통
│ │ │ │ ├─autoseq // 자동채번
│ │ │ │ ├─bean // 업무 공통 java bean
│ │ │ │ ├─code_name // 공통코드
│ │ │ │ └─file // 첨부파일
│ │ │ ├─enums // 업무 Enum 들
│ │ │ └─sys // 시스템 모듈
│ │ │ ├─bean // 시스템 모듈 java bean
│ │ │ ├─program_mgm // 서브모듈
│ │ │ │ └─program_reg // 프로그램
│ │ │ └─user_mgm
│ │ │ └─user_reg
│ │ ├─common // 공통
│ │ │ ├─bean // 공통 java bean
│ │ │ ├─collection // FlexGrid의 item 처리용
│ │ │ ├─enums // 공통 Enum
│ │ │ ├─error // 시스템 Error 처리
│ │ │ ├─exception // 시스템 Exception
│ │ │ ├─interceptor // 인터셉터
│ │ │ ├─logging // 로깅
│ │ │ ├─mail // 메일
│ │ │ ├─manual
│ │ │ ├─menu // 메뉴
│ │ │ ├─mvc // client에 return하는 결과 ResMap
│ │ │ ├─mybatis // MyBatis type handler
│ │ │ ├─security // 인증관련(jwt)
│ │ │ ├─user
│ │ │ │ ├─join
│ │ │ │ ├─login
│ │ │ │ └─password
│ │ │ └─util // 유틸리티
│ │ ├─config // 설정파일
│ │ └─sample
│ │ ├─bean // 샘플 java bean
│ │ └─form_grid // 폼-그리드 샘플
│ └─org
│ └─mybatis
│ └─spring
│ └─boot
│ └─autoconfigure // local에서 mybatis mapper.xml refresh
├─resources
│ ├─config // yml 설정파일
│ ├─jasperreports // 출력물
│ │ ├─fonts
│ │ └─images
│ ├─mappers // mybatis mapper.xml 파일 모음
│ │ ├─basic
│ │ ├─common
│ │ │ └─code-name
│ │ ├─sample
│ │ └─sys