Backend/ORM2 MyBatis에서 setter가 없어도 데이터 매핑이 되는 이유 💭 개요 마이바티스에서 조회 결과를 객체에 담으려고 했는데 기본 생성자가 없다면서 오류가 발생 했다. 왜 마이바티스에서 기본 생성자는 꼭 필요하며, setter가 없는데 어떻게 데이터를 매핑 하는 걸까? 💡 진행 1. MyBatis 에서 기본 생성자는 왜 꼭 필요한가? MyBatis는 쿼리 실행 후, SQL 결과를 객체에 매핑할 때 해당 객체를 리플렉션을 통해 인스턴스화 한다. 이 때 기본 생성자가 있어야만 객체를 인스턴스화 할 수 있다.기본 생성자가 없다면, 객체를 생성할 수 없기 때문에 쿼리 결과 데이터를 객체에 매핑할 수 없다.따라서, 기본 생성자는 MyBatis에서 객체를 생성할 때 필수적이다. 기본 생성자가 없다면 MyBatis가 객체를 생성하는데 실패하고, 그 결과 데이터를 매핑할 수 없.. 2024. 12. 19. MyBatis에서 쿼리 결과와 객체 바인딩 이해하기 💭 개요현재 회사에서는 DB와의 연동을 위해 MyBatis를 사용하고 있다. 그런데 쿼리의 결과와 객체가 어떻게 바인딩 되는지 궁금증이 생겼다.이 과정을 더 깊게 이해하기 위해, 간단한 테스트 코드를 작성해보며 실습해보았다. 💡 진행테스트 객체 public class Task { private Long id; private String text; private int priority; private boolean done;}매퍼 인터페이스@MapperScanpublic interface TaskMapper { List selectAllTask(); List selectAllTaskWithAlias();}Mapper.xml SELECT .. 2024. 12. 16. 이전 1 다음