( mybatis ) mybatis 개념과 #와 $의 차이점
ZZOOO
·2021. 4. 25. 20:26
안녕하세요 오늘은 mybatis를 이용하여 프로젝트 진행하시는 분들이라면
한 번쯤 필요할만한 정보라고 생각이 듭니다.
mybatis 란 ?
🟠 객체 지향 언어 JAVA의 jdbc( Java DataBase Connectivity )를 이용한 Framework
🟠 객체( Object )와 SQL 사이의 파라미터 Mapping 작업을 자동으로 해주기에 유용하게 사용되는 기술이다.
🟠 SQL 쿼리를 따로 작성하여 실제 실행되는 코드와 분리되어 쿼리문 관리에 용이하다.
mybatis 특징 ?
🟢 간단한 persistent framework이다
🟢 Mybatis Mapper Interface를 통해서 DB에 접근한다
🟢 파라미터 형식을 수동적으로 변경할 수 있다
🟢 복잡한 jdbc 코드가 아니라 깔끔한 소스코드를 유지할 수 있다
간단하게 mybatis의 개념과 특징을 나열해보았습니다.
#와 $의 차이
#{}
🟣 query로 들어오는 parameter가 String 형태로 입력이 되어 자동적으로 'parameter' 형태로 변환됩니다.
Ex ) #{db_name} = abc 는 db_name = 'abc' 와 같은 쿼리라고 보면 됩니다.
🟣 쿼리 주입을 예방할 수 있어서 보안 측면에서 좋다고 설명이 되어있습니다.
${}
🟤 query로 들어오는 parameter가 바로 출력됩니다.
Ex ) #{db_name} = abc 는 db_name = abc와 같은 쿼리입니다.
🟤 위와 반대로 쿼리 주입을 예방할 수 없어 보안 측면에서 불리하다고 합니다.
그렇기 때문에 사용자가 입력한 값을 전달할 때에는 추천하는 방법이 아니라고 합니다.
🟤 table 또는 column 명을 parameter 값 그대로 전달하고 싶을 때에 사용한다고 합니다
( 제가 이 부분에서 쪼끔 삽질했습니다 )
이렇게 간단하게 mybatis의 개념과 mybatis 문법 중 에서 #{}와 ${}의 차이를 알아보았습니다.
읽어주셔서 감사합니다 .
'개발( Dev )' 카테고리의 다른 글
( chart.js ) 그래프 오류 해결 / 이전 데이터 오류 / 데이터 초기화 (5) | 2021.05.19 |
---|---|
( mybatis & ibatis) DB 별 LIKE 절 처리 방식 (0) | 2021.04.26 |
( eclipse ) 프로젝트 검색 & 소스 일괄 변경 ( 치환 ) (0) | 2021.04.15 |
( Spring ) 간편하게 외부 라이브러리 . jar 파일 추가 방법 (0) | 2021.04.06 |
( Spring ) @Annotation 의미와 종류 (0) | 2021.04.02 |