- 쿼리 기반 웹 애플리케이션을 개발할 때 가장 많이 사용되는 SQL 매퍼(Mapper) 프레임워크이다.
- MyBatis 를 사용하지 않고 직접 JDBC를 이용할 경우 문제점:
- 개발자가 반복적으로 작성해야 할 코드가 많고, 서비스 로직 코드와 쿼리를 분리하기가 어렵다.
- 또한 커넥션 풀의 설정 등 개발자가 신경 써야 할 부분이 많아 여러 가지 어려움이 있다.
- 따라서, JDBC를 이용해서 직접 개발하기보다는 마이바티스와 같은 프레임워크를 사용하는 게 일반적이다.
- JDBC를 이용하여 프로그래밍을 하는 방식:
- 클래스나 JSP와 같은 코드 안에 SQL문을 작성하는 방식
- 따라서 SQL의 변경 등이 발생할 경우 프로그램을 수정해야 한다.
- 유연하지 않다, 코드가 복잡하게 섞여 있어서 가독성도 떨어짐
- 마이바티스에서는 SQL을 XML 파일에 작성하기 때문에, SQL의 변환이 자유롭고 가독성도 좋다.
MyBatis에서 Parameter 전송하기
한 개의 파라미터 전송시
public List<MemberCommand> selectBoard(Integer num);
SQL 문장에 값을 넘길 때 #{num}로 명시
여러 개의 파라미터 전송시 HashMap를 생성해서 데이터를 담고 전송한다.
Map<String,String> map = new HashMap<String,String>();
map.put("name",name);
map.put("phone",phone);
public void insertBoard(Map<String,String> map);
SQL 문장에 값을 넘길 때 #{name}, #{phone}로 명시
HashMap를 생성하지 않고 데이터를 전송하고 싶을 때는
public boolean authCheck(@Param("id") String id, @Param("password") String password);
SQL 문장에 값을 넘길 때 #{id}, #{password} 로 명시하면 된다.
'나중에 올릴 글들 (수정 중)' 카테고리의 다른 글
[Spring] Mapper란? (0) | 2023.11.04 |
---|---|
REST API 와 Http... 대체 무엇인가? (0) | 2023.11.04 |