Mybatis

[Mybatis] Param 어노테이션 없이 여러 파라미터를 넣을 때 null 오류가 발생하는 경우

ilot 2023. 5. 16. 09:29

Mybatis 에서 한 메서드에 여러 파라미터를 넣을 경우, xml sql에서 파라미터를 구분지을 수 있게 @Param 어노테이션을 제공한다.

 

@Mapper
public interface FooRepository {

    List<BarVO> selectBars(@Param("name") String name, @Param("code") String code);

}

어떤 로컬 PC에서는 @Param을 생략해도 잘 동작하나, 일부 로컬 PC에서는 아래와 같은 에러가 발생한다.

 

org.mybatis.spring.MyBatisSystemException: null

 

에러가 발생한 PC에서는 intellij의 build tool을 gradle이 아닌 intellij에서 제공하는 gradle을 사용하고 있었기 때문이었다.

Intellij Settings > Build, Execution, Deployment > Build Tools > Gradle 에서

Build and run using, Run tests using을 Gradle로 바꿔주자.

 

 

위 세팅을 Intellij로 바꿔주면, 빌드나 실행속도가 꽤 빨라지나, 가벼운 만큼 일부의 기능만 제공하는 모양이다.