JDBC VS MyBatise

Nam_JU·2022년 2월 27일
0

Spring

목록 보기
1/11
post-thumbnail
post-custom-banner

DataBase를 사용하는 이유

자바 클래스를 통해 데이터를 다룬다 POJO

  1. JAVA코드로 작성한 List, HashMap등은 memory에 저장된다
    JRE의 힙 메모리에 들어갔다가 사용됨 데이터가 일시적이기 때문에 초기화된다
  2. 여러 서버 프로세스가 같은 기능을 하면서 Data를 공유해야 한다

JDBC VS MyBatise 차이가 뭐야

JDBC

JAVA Database Connectivity 자바에서 DB프로그래밍을 하기 위해 사용되는 API

MyBatise

자바에서 데이터베이스 프로그래밍을 할 때 JDBC API를 이용하는데 개발자가 작성해야하는 코드가 늘어난다. JDBC를 사용하기 쉽게 만든 툴이 Mybatis. SQL Mapper을 통해 자바의 메서드와 SQL을 맵핑해준다.

Springboot Dependencies

  • Spring Web
  • MyBatis Framwork
  • Mysql Driver

위의 환경을 이용하여 스프링부트와 데이터베이스를 연동하여 제작할 수 있다.

추가로 예전 프로퍼티와 yml차이를 모르고 데이터베이스 연결하기 위해 설정하다가 한참 애먹은적이 있었다. 결론적으로 둘다 작성하는 코드 양식이 다르다. 프로퍼티에다가 yml양식으로 데이터베이스를 연결했으니 당연히 오류가 생겼지

프로퍼티는 한 문장안에 데이터저장장소, db명등을 적기 때문에 코드를읽기 힘들고 불편하다. 반면 yml 형식은 아래처럼 보기 쉽게 나눠져있다.

  • yml 코드
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/test_schema<DB명>
    username: DBid
    password: DBpw

mybatis:
  mapper-locations: "classpath:mybatis/mappers/*.xml"
  configuration:
    map-underscore-to-camel-case: true

인텔리제이에서 생성하는 방법은 프로퍼티 파일 -> rename -> application.yml을 바꾸면된다


  • dao : repository 데이터를 주고받는 기능을 해주기 위한 객체를 불러오는 패키지
  • dto : 실제 데이터를 담기위한 object들로 구성
  • mapper: 인터페이스의 역할 함수를 생성하면 xml에 작성된 쿼리들, 데이터들과 매핑이된다
profile
개발기록
post-custom-banner

0개의 댓글