MyBatis 환경설정 및 이해
참고하기
https://cafe.daum.net/flowlife/HqLk/60
Daum 카페
cafe.daum.net
++ xml 파일 에러
환경셋팅시 configuration.xml에 에러 발생.
preference에서 xml(web)에서 첫번째 체크박스 선택 요.
주의!!!
DataMapper.xml작업시 resultType pack.DataDto로 변경요. (이유: 내가 만든 팩이 DataDto 이기에)


이 둘이 같아야 한다.
++ 궁금한점!! module 체크박스는 왜 빈칸으로 두어야하는가??
찾아보니 보안상의 문제부분이나 개발환경시 번거로울수 있기에 체크해제하라고 한것.
동료 HS님의 참고하신 설명글을 추가한다.
모듈 선택 시 module-info.java 파일 생성: 모듈 이름, 의존 모듈, 외부에 노출할 패키지를 정의.
명시적 의존성 관리: requires 키워드로 의존 모듈 명시.
캡슐화: exports 키워드로 외부에 노출할 패키지 정의.
강화된 보안 및 유지보수: 모듈화된 애플리케이션은 캡슐화를 통해 보안 및 유지보수성 향상.
모듈 미선택 시
기존 Java 방식: module-info.java 파일 없이 프로젝트 생성.
패키지 의존성 자동 해결: 모든 패키지가 기본적으로 모든 다른 패키지에 접근 가능.
단순화된 설정: 작은 프로젝트나 빠르게 시작하는 경우 유리.
결론
모듈 사용 고려: 대규모 애플리케이션, 명시적 의존성 관리 필요 시.
모듈 사용 피함: 작은 프로젝트, 기존 프로젝트 유지 시.
모듈 경계를 넘어서는 접근 시도:
모듈 시스템에서는 각 모듈이 명시적으로 정의된 패키지만 접근할 수 있습니다. 예를 들어, 다른 모듈에서 SqlSession 클래스가 포함된 패키지에 접근하려고 하면 오류가 발생할 수 있습니다.
모듈 정의 파일(module-info.java) 설정 확인:
모듈 정의 파일(module-info.java)에서 exports로 다른 모듈에 노출할 패키지를 명시하지 않은 경우, 해당 패키지는 다른 모듈에서 접근할 수 없습니다. 따라서 다른 모듈에서 SqlSession 클래스를 사용하려고 할 때 접근 권한 오류가 발생할 수 있습니다.
모듈 간의 requires 설정 확인:
필요한 경우(requires) 모듈이 정확히 선언되었는지 확인해야 합니다. 모듈이 필요로 하는 다른 모듈을 명시하지 않으면 필요한 클래스나 패키지에 접근할 수 없습니다.
parameterType, resultType 에 대한 이해
- parameterType : 비즈니스 로직으로부터 전달 받은, SQL 구문에 사용될 매개변수의 자료형
- resultType : 비즈니스 로직으로 반환할, 결과값의 자료형
즉 파라미터타입은 받는 형태, 리절트타입은 반환할 형태.
https://devsnote.com/asks/1106
학원에서 배우고 있는데 프로젝트생성시 create module-info.java file 체크박스를 왜 해제해야하나요 ?
개발자의 노트
devsnote.com