02. MyBatis properties 설정하기

02. MyBatis properties 설정하기

properties에 DB정보 등 보안이 유지되어야 하는 정보를 관리하기로 했습니다.

현재는 아래와 같이 소스 상에 DB정보가 노출되었습니다.

mybatis에서 제공하는 properties 설정을 적용하여 DB정보를 소스상에 노출되지 변경하였습니다.

- mybatis 설정

- properties 파일 (파일명 : application.properties)

#Database Info url=jdbc:mysql://192.168.0.2:3306/study_db?useSSL=false&serverTimezone;=Asia/Seoul&characterEncoding;=UTF-8 username=userId password=pwd

- pakage 정보

properies.resource에 내가 생성한 .properties 파일 경로 및 파일명을 적어줍니다.

properties 내부에 property 설정을 통해 .properties외에 추가적으로 property 정보를 추가할 수 있습니다.

또한 property 정보는 java 에서 SqlSessionFactory 생성시 추가할 수 있습니다.

Properties p1 = new Properties(); p1.setProperty("driver", "driver=com.mysql.cj.jdbc.Driver2"); sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream, p1);

만약 동일한 property가 한개 이상 존재한다면 mybatis는 아래와 같은 순서로 로드합니다.

properties 엘리먼트에 명시된 property를 가장 먼저 읽습니다.

properties 엘리먼트의 클래스패스 자원이나 url 속성으로 부터 로드된 property를 두번째로 읽습니다. 앞서 로드된 property 중 동일한 property가 있을경우 덮어습니다.

마지막으로 메소드 파라미터로 전달된 property를 읽는다. 앞서 로드된 property 중 동일한 property가 있을경우 덮어습니다.

그래서 가장 우선순위가 높은 property는 메소드의 파라미터로 전달된 property이고 그 다음은 자원 및 url 속성이고 마지막은 properties 엘리먼트에 명시된 property입니다.

from http://cjy6179.tistory.com/21 by ccl(A) rewrite - 2021-12-01 20:01:25