[Spring] MyBatis: 매개변수 전달
저번에는 select * from 구문만 대충 돌리고 말았지만, 이번에는 좀 더 다양한 시도를 해보도록 하겠다.
특정 id 값을 가진 목록만 가져오도록 다시 짜보겠다.
매퍼다. 이름은 selectById.
유일성이 보장되는 id로 탐색할 거니까, 반환타입은 그냥 단일 Name 타입으로 해놨다.

그리고 쿼리는 이렇게 정의할 수 있다.
매퍼의 매개변수가 들어갈 부분은 ${블라블라}나 #{블라블라} 구문으로 감싸면 된다.
$는 값을 그대로 무식하게 때려박고, #는 ''로 감싸서 집어넣는다.
중괄호 안에 들어갈 텍스트는, 매퍼 메소드의 매개변수와 이름이 일치해야 한다.

그리고 #{} 구문을 사용하면, 이렇게 바꿀 수 있다.
사실 이게 더 안전하고, 권장된다.

테스트 코드다.
별거없다.
잘 가져온다.
근데 주의할 점이 있는데,
매퍼의 메서드 반환타입을 단일 타입으로 했을 경우. 탐색에 실패하면 null을 반환한다는 것이다.
이걸 좀 방지하고 싶다면, 그냥 반환타입을 옵셔널로 감싸면 된다. 그럼 알아서 감싸서 반환해준다.
