해결된 질문
작성
·
241
0
마이바티스 강의 섹션 초반에 application.properties에
Mybatis.configuration.map-underscore-to-camel-case=true
를 해주었기 때문에 컬럼명 변환을 위한 맵은 해주지 않아도 되는것 아닌가요?
추가적인 질문으로 영한님 강의의 로드맵중에 jpa를 집중적으로 강의해주시는 로드맵이 있는데 해당 스프링 로드맵만 수강한 상태에서 개인 프로젝트를 진행할 때 jpa의 지식이 부족할 수 있으니(jpa는 내용이 방대하여 많은 공부가 필요하다고 하셔서) 마이 바티스로 프로젝트를 진행후 jpa로드맵 까지 수강 후 jpa로 프로젝트를 하는게 더 좋은가요?
답변 1
0
안녕하세요. 양치잘하기님, 공식 서포터즈 y2gcoder입니다.
말씀하셨던
Mybatis.configuration.map-underscore-to-camel-case=true
는 초반부 설명에도 적혀있듯이 네이밍 전략의 불일치를 해결하기 위해 적용해주는 것입니다.
DB Table의 컬럼은 snake_case , 자바 객체 필드는 camelCase 로 이름짓는 것이 관례이기 때문에, 이를 해소하기 위한 방법으로 위의 설정을 추가해주는 것입니다.
Result Maps는 위의 설정만으로는 해결할 수 없을 경우에 사용할 수 있습니다! 예제를 보시면 테이블 컬럼명은 user_id지만, 객체의 id 필드로 매핑해줘야 하는 경우와 같이 아예 필드명이 다른 경우에 사용할 수 있습니다. (여담이지만 이런 경우가 실무에서는 의외로 많습니다)
그리고 추가적인 질문에 대해서는 개인적인 생각이니 참고정도만 해주시면 좋을 것 같습니다! 말씀하신 것과 같이 JPA 자체가 또하나의 로드맵으로 있을만큼 내용이 방대합니다
또한 JPA를 공부하기 위해서는 DB 관련 지식이 필요하다고 생각합니다. 저는 개인적으로 가능하다면
1) DB 에 대해 좀 더 학습하신 뒤에 JdbcTemplate 를 사용해서 프로젝트를 만들어보신 후에 JPA 로드맵을 수강하시면서 해당 프로젝트를 JPA로 바꿔보시거나 2) 시간이 부족하시다면 DB 공부만 하신 뒤에 JPA 로드맵을 수강하시면서 JPA로 바로 프로젝트를 진행해보시는 것
을 추천합니다.
여기서 DB 관련 지식은 SQL 이나 인덱스 등의 DB 관련 지식을 말합니다! Mybatis를 가볍게나마 실무에서 사용해봤던 경험으로는 SQL을 어느 정도 공부하면 Mybatis는 쉽게 사용할 수 있었습니다. 결국 SQL Mapper기 때문에 그걸 사용하기 위한 기본기가 있으면 쉽게 배울 수 있었습니다
감사합니다.
말씀해주신 링크에 답변 아닌 답변을 달아놓았습니다!
제가 잘 모르는 문제라 다른 서포터즈 분들도 보실 수 있도록 계속 열어두었으니 조금만 더 기다려주시면 감사하겠습니다!
답변 감사합니다. 혹시 https://www.inflearn.com/questions/1266373/%EB%B9%88%EC%9D%84-%EC%B0%BE%EC%9D%84%EC%88%98-%EC%97%86%EB%8B%A4%EB%8A%94-%EC%98%A4%EB%A5%98%EA%B0%80-%EB%9C%A8%EB%8A%94%EB%8D%B0-%EB%91%98%EB%9F%AC%EB%B4%90%EB%8F%84-%EB%B9%88%EC%9D%B4-%EC%9E%98-%EB%93%B1%EB%A1%9D%EB%90%9C%EA%B1%B0-%EA%B0%99%EC%9D%80%EB%8D%B0-%EC%8B%A4%ED%96%89%EC%9D%B4-%EC%95%88%EB%90%A9%EB%8B%88%EB%8B%A4
이 질문에 대하여 답변도 해주실 수 있나요 강의자료에서 마이바티스 버전을 3.0.3을 사용하라고 되어있어서 첫 사용할때는 빈 등록이 잘 되었는데 다음날 어떤 오류 발생 후 다시 연결하려니 3.0.3 버전을 등록을 못하는데 특별한 이유가 있나요?