본문 바로가기

iBATIS3

[ibatis/MyBatis] #{}과 ${} 차이 회사 업무를 진행하다 보면 업무의 효율성을 위해 ibatis/MyBatis를 사용하게 되는데 파라미터에 #또는 $를 이용하는 경우가 있는데 #{}과 ${} 차이를 모르고 사용하는 경우가 대부분이다. ex 1) select mb_no from mb_profile where mb_no = #{mb_no} ex 2) select mb_no from mb_profile where mb_no = ${mb_no} ex1과 ex2의 차이는 무엇일까? #{}을 사용하는 경우, 파라미터가 String 형태로 들어와 'string' 형태로 회원번호를 조회하게 된다. ***보안상으로 쿼리 주입을 예방할 수 있다. ${}을 사용하는 경우, 컬럼의 자료형에 맞추어 파라미터가 바로 출력된다. ***${}의 문제점 취약점을 발견하.. 2022. 1. 24.
[ibatis] 비교 표현식 Ibatis/MyBatis 비교문 지원 태그 : 단일 조건문 : 다중 조건문 구분 표현식 비교 크다 a gt b a > b 작다 a lt b a = b 작거나 같다 a le b a = ) ## 주의 예시일 뿐 실제 개발 시 파라미터에 따라 형식 오류나 생각했던 조건에 안 걸려 원했던 데이터가 안 나오는 경우가 발생할 수 있다. 조건을 사용하고 테이터 검증은 필수!! 2022. 1. 21.
ibatis/MyBatis TypeException 오류 로그: Caused org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property='param2', ... Cause: org.apache.ibatis.type.TypeException: Error setting null for parameter #8 with JdbcType OTHER . Try setting a different JdbcType for this parameter or a different jdbc .... 스프링 프로젝트에서 MyBatis 쿼리 호출 시 오류가 발생했다. Java에서 값을 찍어봐도 같은 세팅 되어 있는데... 계속 오류가 나온다. 이건 뭐지 .... 2022. 1. 21.