새로 알게 된 것들-ORACLE, MyBatis

Nux·2022년 2월 3일
0

자바웹개발

목록 보기
97/105
post-thumbnail

ORACLE

상호연관 서브쿼리

  • 컬럼이 아닌 함수값(avg, count등)을 구할 때 사용
  • 해당 쿼리에 상호연관 서브쿼리로 함수 추가
    • 별칭도 추가해주어야 함
  • VO와 resultMap에도 각각 추가 한 후 property값으로 호출하여 사용

MyBatis

Mapper끼리 조인시키기

  • DAO
  • Mapper

Mapper parameter값이 복수 일 때

  • Dao의 매개변수에 @param 어노테이션 부착
  1. mapper.xml
  2. dao.java
  3. controller.java
참고: 서비스의 메서드명이 getReviewList

여러 테이블을 조인 했을 때

  • VO에 이용할 컬럼을 테이블 상관없이 전부 멤버변수로 생성
  • result맵에도 컬럼명 그대로 기재(테이블 별칭 기재 안함)
    • SQL작성시에는 별칭으로 select해야 함

값이 들어오지 않을 때

  • console에는 확인 되지만 출력 시 null값이 나올 때
  • mapper의 id에 공백이 있는지, resultMap이나 Type이 제대로 설정됐나 확인

There is no getter for property named~

  • 컬럼명을 바꿨을 때 자주 보게 되는 오류
  • VO, ResultMap, Parameter, Mapper를 잘 수정했는지 살펴볼 것
  • 참고로 나는 매번 #{}문법에서 발생함

mapper 작성 시 주의 할 것

  • resultType 지정 시, column이름(별칭)과 VO의 변수 이름이 같아야함
  • resultMap 지정 시, resultMap의 Property와 VO의 변수 이름이 같아야함

0개의 댓글