본문 바로가기
개발관련/SpringBoot

[springBoot] mybatis 상수 사용하기 (application.properties)

by joa-yo 2023. 1. 1.
반응형
개발환경
springboot 3.0.0 (spring boot starter를 사용하였습니다.)

 

 

SpringBoot로 웹사이트를 개발중인데, 날짜를 조회하는 모든 곳에서, 동일한 형태로 조회하고 조회된 날짜를 javascript로 변환하여 사용하고 싶었습니다. 그러기 위해서는, 날짜 형식을 한 곳에다가 설정해두면 좋겠다고 생각했습니다.

 

SELECT REG_DATE, DATE_FORMAT(REG_DATE, '%Y-%m-%d %H:%i:%s') FROM STUDENT;

예를들어보자면, 위와같은 쿼리가 있는데, REG_DATE를 조회하는 부분에서  '%Y-%m-%d %H:%i:%s'를 매번 적어주어야 했습니다. 그런데 만약에 이 형식을 수정하고 싶으면, 모든 쿼리를 다 수정해 주어야 하기 때문에, 하나의 변수로 설정해두고 싶다는 생각을 했습니다. 찾아보니 해결방법은 간단했습니다.

 

 

1.application.properties 설정

mybatis.mapper-locations=mybatis-mapper/*.xml
mybatis.type-aliases-package=com.cheongyeon.admin
mybatis.type-handlers-package=com.cheongyeon.admin
mybatis.configuration.map-underscore-to-camel-case=true
mybatis.configuration.default-fetch-size=100
mybatis.configuration.default-statement-timeout=30
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
mybatis.configuration.call-setters-on-nulls=true

application.properties파일에 mybatis설정은 이렇게 되어있었습니다.

 

mybatis.configuration-properties.commonDateForamt=%Y-%m-%d %H:%i:%s

이 한줄을 추가해주면 끝입니다! 

 

 

형식

mybatis.configuration-properties.[변수명]=[변수값]

이런 형태로 적어주면 됩니다.

 

 

2.쿼리에서 사용하기

SELECT REG_DATE, DATE_FORMAT(REG_DATE, '${commonDateForamt}') FROM STUDENT;

그리고 쿼리에서는 위와같이 적어주면 됩니다.

 

주의사항!

#{}을 사용하면 쿼리 에러가 발생하기 때문에 필히 ${}로 적어주세요~ 그리고 저는 문자열로 표시해야하기 때문에 '${}'로 적어주었습니다!

 

 

3.상수를 사용하는 다른 방법

.java파일에 선언되어 있는 상수

<select id="getConvenienceStoreList" resultType ="Store">
    SELECT * FROM Store
    WHERE type = ${@foo.product.constant.StoreType@CONVENIENCE_STORE}
    ORDER BY id
    LIMIT #{start}, #{limit}
</select>

@로 클래스 위치를 지정하고, 다시 @로 상수명을 지정해줍니다.

SELECT GRADE, STUDENT_NAME FROM STUDENT
<where>
    <if test="@org.thymeleaf.util.StringUtils@isEmpty(studentName) == false">
        STUDENT_NAME = #{studentName}
    </if>
</where>

하나라도 더 알려드리고 싶은마음에 맥락에 맞지는 않은 것 같지만, 가져와봤습니다.

이것은 함수 실행 예제입니다. 마찬가지로 @로 클래스 위치를 지정하고  @로 함수명을 지정해줍니다.

 

반응형

'개발관련 > SpringBoot' 카테고리의 다른 글

SpringBoot / mybatis log출력  (0) 2022.12.17

댓글