Mapper Test code 작성 중, 여러 실수 발견하고 배움
- Mapper.xml파일에서 쿼리문을 작성할 때 컬럼에 AS로 별칭을 주면 resultMap에서 인식하지 못하기 때문에 지양 => 필요할 경우 작성한 별칭을 resultMap에 컬럼명 대신 넣기
- 쿼리문에서 가공한 데이터들은 반드시 별칭을 작성하고 resultMap 뿐만 아니라 field에도 명시해야 데이터를 활용할 수 있음
- 쿼리문 작성 시, 하나의 그룹함수로 인해 나머지 많은 컬럼들을 GROUP BY절에 모두 입력해야할 때, 해당 그룹함수만 서브쿼리로 빼내 동일한 결과를 얻을 수 있음 (훨씬 간결하고 깔끔)
- DB에서 한번에 여러 행을 조회하는 경우, 반드시 List형태로 반환 받을 것
- 메뉴바에서 카테고리를 선택하여 각 카테고리에 해당하는 프로젝트 목록을 조회할 경우, url은 각각 GetMapping 하되 forwarding은 하나의 html로 하여 효율성을 높임
- 타임리프 문법 중 th:onclick을 사용할 때 url 안에 변수를 넣어주어야할 경우, 아래의 형태의 문법을 사용
- DB에서 nullable한 값이 넘어와서 오류가 발생할 경우, application.yml에
mybatis: configuration: jdbc-type-for-null: 'NULL'
추가 (아니면 mapper.xml에 컬럼마다 jdbcType=VARCHAR를 붙여주어야 하는데 번거로움)