빅데이터 Java 개발자 교육 - 15일차 [OracleClient, VS Code 설치 및 Mybatis, JPA에 대한 설명]

Jun_Gyu·2023년 2월 26일
0
post-thumbnail

오늘부로 java 수업이 끝났다. 이제 다음주 월요일인 16일차 수업부터는 Oracle에 대해서 배움과 동시에, Visual Studio를 통해서 수업이 진행된다고 하셨다.

금일 수업에는 그동안 배운내용을 토대로 얼마나 알고 있는지에 대해서 평가가 진행되었고, 주인장은 당연히 통과했다 ㅎㅎ

~~(근데 제일 쉬운문제만 틀린건 안비밀)
~~
오늘은 간단하게 강사님께서 제시해주신 문제에 대해서 실습만 간략하게 진행하였고, Visual Studio Code와 Oracle 클라이언트를 설치했다.

현재는 강사님의 블로그에서 다운만 받아둔 상태이고, Oracle의 사용에 대한 학습은 월요일부터 진행된다.

그전에 VScode에 java를 사용할 수 있도록 확장자를 받아주도록 하자.


자바를 사용할수 있도록 Extension Pack for Java와


ERD 에디터,


Lombok까지 다운을 받아주도록 한다.


이후에 File의 Open Folder를 통해서 기존에 eclipse를 통해서 만든 모든 패키지들이 있는 폴더를 불러오게되면..


위의 사진처럼 그동안 사용했던 모든 정보들을 불러오게 된다.

아마 월요일부터는 VScode를 통해서 실습을 진행하게 될 것 같다.

(안녕 eclipse..)


기존에 썻던 java의 경우 DB와의 연동을 위해 JDBC API를 지원해주지만, 대신 일일이 지정해야하는 매핑 작업은 개발자가 직접 처리해야하는 번거로움이 존재했었다.


기존의 JDBC만으로 쿼리문을 만들어 사용하는 과정은 쿼리문이 길어지게 되면 번거로움이 배가되게된다.

하지만 월요일부터 우리는

MyBatis와 JPA 라이브러리를 통해서 기존의 이러한 문제들을 해결하고

훨씬 간단한 방법으로 DB와의 연동이 가능하겠다.

그렇다면

MyBatis, JPA는 각각 어떤 기술일까?

JPA(ORM)

JPA : ORM(Object Relational Mapping) 기술

  • 자바 ORM의 기술 표준
  • 대표적인 오픈소스로 Hibernate
  • CRUD 메소드 기본 제공
  • 쿼리를 만들지 않아도 됨
  • 1차 캐싱, 쓰기지연, 변경감지, 지연로딩 제공
  • MyBatis는 쿼리가 수정되어 데이터 정보가 바뀌면 그에 사용 되고 있던 DTO와 함께 수정해주어야 하는 반면에, JPA 는 객체만 바꾸면 된다.
  • 즉, 객체 중심으로 개발 가능
  • But, 복잡한 쿼리는 해결이 어려움
ORM (Object Relational Mapping) : Object와 DB테이블을 매핑하여 데이터를 객체화하는 기술. 개발자가 반복적인 SQL을 직접 작성하지 않으며, DBMS에 종속적이지 않음. 복잡한 쿼리의 경우 JPQL을 사용하거나 SQL Mapper을 혼용하여 사용 가능.

MyBatis(SQL Mapper)

MyBatis : Object Mapping 기술

  • 자바에서 SQL Mapper를 지원해주는 프레임워크
  • SQL문을 이용해서 RDB에 접근, 데이터를 객체화 시켜줌.
  • SQL을 직접 작성하여 쿼리 수행 결과를 객체와 매핑
  • 쿼리문을 xml로 분리 가능
  • 복잡한 쿼리문 작성 가능
  • 데이터 캐싱 기능으로 성능 향상
  • But, 객체와 쿼리문 모두 관리해야함, CRUD 메소드를 직접 다 구현해야함.
SQL Mapper : Object와 SQL의 필드를 매핑하여 데이터를 객체화 하는 기술. 객체와 테이블 간의 관계를 매핑하는 것이 아님. SQL문을 직접 작성하고 쿼리 수행 결과를 어떠한 객체에 매핑할지 바인딩 하는 방법, DBMS에 종속적인 문제. EX) JdbcTemplate, MyBatis

출처

profile
시작은 미약하지만, 그 끝은 창대하리라

0개의 댓글