DBMS
MyBatis
내이름효주
2024. 7. 3. 15:50
MyBatis: XML 서술자나 애너테이션을 사용하여 저장 프로시저나 SQL 문으로 객체들을 연결
- 사용 방법순서 : 의존성 설정 -> DB 설정 -> MyBatis 설정 -> Mapper 인터페이스 작성 -> XML 작성 -> MyBatis 사용
- 특징
- 유연성: SQL 쿼리를 직접 작성할 수 있으므로 매우 유연. 또한, 동적 쿼리 작성가능
- 간결성: SQL 쿼리와 프로그래밍 언어 코드를 분리하여 코드가 간결, 유지보수에 용이
- 성능: 캐시 기능을 제공하여 데이터베이스 연산 속도를 높일 수 있다.
✨ #{}, ${}의 차이점
- #{}
- 파라미터가 String 형태로 들어와 자동적으로 파라미터 형태
ex) #{user_id}의 user_id값이 kim이라면 쿼리문에는 USER_ID = 'kim'의 형태가 됨 - 쿼리 주입을 예방할 수 있어 보안측면에서 유리함
- 파라미터가 String 형태로 들어와 자동적으로 파라미터 형태
- ${}
- 파라미터가 바로 출력
- 해당 컬럼의 자료형에 맞추어 파라미터의 자료형이 변경됨
- 쿼리 주입을 예방할 수 없어 보안측면에서 불리함 (사용자의 입력을 전달할때는 사용하지 않는 편!)
- 테이블이나 컬럼명을 파라미터로 전달하고 싶을 때 사용함