Server/MyBatis
-
[MyBatis] MyBatis Reflection 에러 정리Server/MyBatis 2021. 7. 19. 00:58
MyBatis ResultMap 에러 정리 이번 글에서는 프로젝트를 하면서 만났던 MyBatis 에러에 대해서 간단하게 정리를 해보려 합니다. 현재 UserLeaderScore 모델과 User 모델을 ResultMap을 사용해서 JOIN 해서 데이터를 가져오려는 상황입니다. DB 테이블은 위와 같습니다. 이 테이블과 매칭이 되는 자바 클래스 모델은 아래와 같습니다. User Model @NoArgsConstructor @Getter public class User { private Long id; private String nickname; private String gender; private int birth; private String socialType; private String signupCo..
-
[MyBatis] MyBatis foreach INSERT 성능 테스트 해보기Server/MyBatis 2021. 5. 27. 15:26
MyBatis INSERT 쿼리 성능 테스트 MyBatis에는 foreach 라는 것을 이용해서 Batch Insert를 할 수 있는 기능을 제공해줍니다. 그런데 문득 foreach를 통해서 데이터를 INSERT 하는 것과 한 건씩 여러번 INSERT 하는 성능 차이가 얼마나 날까? 하는 의문점이 생겨 한번 글을 정리해보려 합니다. 당연히 성능은 foreach를 쓰는 것이 빠를 것인데요. 그럼에도 대략이라도 얼마나 차이나는지 한번 알아보겠습니다. 일반 INSERT 쿼리 먼저 위와 같이 for 문을 10000번 반복해서 데이터를 INSERT 해보겠습니다. 누가봐도 비효율적.. 말이 안되는 코드지만 그럼에도 몇초나 걸리는지 한번 실행해보았습니다. 실행해보니 예상했던대로 꽤나 시간이 걸렸는데요. 결과는 아래와..
-
[Spring Boot] 스프링부트에서 Mybatis 사용하기Server/MyBatis 2020. 8. 19. 02:32
먼저 Mybatis를 얘기하기 전에 JAVA의 ORM이 무엇이 있는지 어떤 것인지에 대해서 정리해보자. ORM(Object Relational Mapping)이란? ORM에서 Object는 객체지향 언어의 객체를 의미한다. Relational은 관계형 데이터베이스(Relational Database)의 데이터를 의미한다. Mapping이 의미하는 것은 객체지향 언어의 객체와 관계형 데이터를 서로 변환해 준다는 것이다. 관계형 데이터베이스에서 조회한 데이터를 Java 객체로 변환하여 리턴해 주고, Java 객체를 관계형 데이터베이스에 저장해 주는 라이브러리 혹은 기술을 말한다. Java ORM 기술로 유명한 것은 JPA, Hibernate가 있다. Mybatis는 JDBC로 처리하는 상당 부분의 코드와 파..