WEB/MyBatis
[MyBatis] #{}과 ${}의 차이
#{} 파라메터가 작은따옴표 (')를 붙인 String 형태 쿼리 주입을 예방할 수 있다. ${} 받은 파라메터 그대로의 형태 쿼리 주입을 예방할 수 없다. (사용자의 입력을 전달할 때는 사용하지 않도록 한다.) 테이블이나 컬럼명을 파라메터로 전달할 때 사용한다.
[MyBatis] 오류: java.util.LinkedHashMap cannot be cast to java.lang.String
java.util.LinkedHashMap cannot be cast to java.lang.String 말 그대로 LinkedHashMap을 String으로 바꿀 수 없다는 오류다. LoginService에서 로그인 성공 시, 당일 해당 프로젝트에서 첫 로그인했을 경우를 가져오도록 했다. int isFirstLogin = Integer.parseInt((String)dao.selectObj("Statistics.historyLogRecent", userUpdateMap)); dao.selectObj("Statistics.historyLogRecent", userUpdateMap) 여기에서 LinkedHashMap을 return하고 있으므로, myBatis에서 returnType을 수정한다. //변경 전..
[MyBatis] <sql>, <include> 사용하기
쿼리문을 작성하다보면 반복되는 문장이 많다. 이 반복되는 문장을 따로 빼놓고 갖다 쓸 수 있는 게 , 다. 공통으로 빼는게 , 갖다 쓰는 게 # 사용하기 1. 기본 문법 A.id, A.name, A.grade SELECT FROM TB_STUDENT A SELECT A.id, A.name, A.grade FROM TB_STUDENT A SELECT , B.score FROM TB_STUDENT A JOIN TB_SCORE B ON A.id = B.student_id SELECT A.id, A.name, A.grade , B.score FROM TB_STUDENT A JOIN TB_SCORE B ON A.id = B.student_id indent 안맞는거 킹받네.. 작성한대로 나오게하는 방법 없나 2. ..