[MyBatis] update할때 컬럼명 바꿀 수 없을까?
😫 너무 비효율적이야!
동일한 테이블에서 컬럼명에 따라 값이 달라지는 update 구문을 만들고 싶었다.
물론 컬럼명마다 update구문을 만들 수 있지만 동일테이블인데 그건 너무 비효율적이다.
그래서 단순하게 아래 쿼리를 작성한 뒤 String값 2개 name과 수정할이름을 넘겨주었다.
1 | <update id="updateUserOneByOne" parameterType="String"> |
그 결과는 아래처럼 오류가 발생했다. name을 컬럼이 아닌 String으로 받아들여졌기때문에 생긴 오류였다.
1 | java.sql.SQLSyntaxErrorException: (conn=9442) You have an error in your SQL syntax; |
이를 어떻게 해결할 수 있을까?
😎Mybatis 컬럼명 동적쿼리
이를 조금 고급스럽게 표현하면 Mybatis 동적쿼리라고 부른다.#에서 $로 바꿔줬을뿐인데 정상작동한다!
1 | <update id="updateUserOneByOne" parameterType="String"> |
정리
${}: 파라미터값 그대로 입력#{}: 파라미터값이 ‘ ‘으로 감싸져서 문자열로 입력
![[OS/WINDOW]배포후 서버재시작에 batch와 윈도우 스케줄러 활용하기](https://cdn.pixabay.com/photo/2012/03/04/00/50/board-22098_960_720.jpg)
![[블로그]헥소테마에서 댓글기능 facebook에서 utterances로 변경하기](https://miro.medium.com/max/1600/1*aOv6h3h_v9PQWa03zGACnw.png)