Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

wintertreey 님의 블로그

MyBatis 환경설정 및 이해 본문

SQL

MyBatis 환경설정 및 이해

wintertreey 2024. 7. 3. 20:20

참고하기

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

 

'SQL' 카테고리의 다른 글

MyBatis란? Pooling기법  (0) 2024.07.04