Spring으로 개발을 하면서 Mybatis 프레임워크를 많이들 써봤을 것이다. Mybatis는 JAVA 객체를 SQL과 매핑시켜주는 SQL Mapper이며 현재까지도 많이 쓰이고 있다. Mybatis를 사용하면서 가장 많이보는 에러중 Paramter를 N개이상 넘겼을때 Parameter not found. available parameters are 라는 예외메세지가 출력되는 경우가 발생할 수 있는데 이 메시지는 왜 발생이되며 어떻게 해결해야하는지 알아보자. 환경구성은 Spring Boot와 Mybatis를 연동해서 살펴보았다. Mybatis Sql SELECT 페이징 객체를 파라미터로 넘겨 리스트 10개를 가져오는 SQL이다. 이때 XML에 정의된 #{start}와 #{end}는 파라미터로 넘어온 P..
이번장에서는 Mybatis Interceptor에 대해 알아보자. 말그대로 개발자가 XML 파일에 쿼리를 작성하고 서비스에서 DAO (SQL Mapper)를 호출할때 개발자가 작성한 쿼리를 가로챈다. Mybatis Interceptor에서는 개발자가 XML 파일에 작성한 SQL의 메타정보들을 얻을 수 있고 파라미터를 가공해서 쿼리를 실행할 수 있다. 예를들어 DB에 고객정보를 저장한다고 가정해보자. 정책에 따라 다르겠지만 고객의 중요한 정보(이름, 연락처, 계좌번호)같은 경우는 평문으로 저장하지않고 복호화 가능한 암호화 데이터로 저장한다. 그럴려면 서비스에서 파라미터 암호화하는 함수를 호출해야하고 조회할때는 복호화하는 함수를호출해줘야 한다. 근데 만일 하나의 애플리케이션에서 암호화해야할 데이터가 고객정보..