Chapter.6 Data / MyBatis

Garam·2023년 5월 25일
1

Spring

목록 보기
6/14
post-thumbnail
post-custom-banner

📌 준비 / 세팅

📖 준비

그 다음 이클립스에서 구동한 sql을 더블클릭해서 연결시켜준다.

📖 sql 파일 만들기

new -> other을 통해서 board.sql 파일을 만들어준다.

그다음 상단에서 sql파일을 연결해준다.

그 다음 sql 파일안에 테이블 생성 해준다.

int - 숫자형 타입
auto_increment - 자동으로 1씩 증가하며 들어가는 키워드
default - 따로 값을 주지않는한 지정된 초기값 들어가게 하기
datetime - 시간을 넣어주는 타입
now() - sql 프로그램 안 현재 시간 자동 넣어주는 함수

그 다음 드래그해서 Alt + X 로 실행 해준다

이렇게 파랑색 체크 Success가 나오면 성공한것이다.

📖 SQL 입력문을 써보자

게시판 번호와, 조회수, 날짜는 기본 default가 있기 때문에 제목 내용 작성자만 작성한다.

insert를 실행하고 select를 통해 보면 Result에 데이터가 나오게 된다.


📌 Data / MyBatis

📖 Java DAO를 통해 DataBase 값을 가져오기

먼저 DAO Class를 만들어준다.

기존 우리는 DAO클래스 안에 Java 코드와 SQL문장을 다 넣어서 진행했다.
이러다 보면 문제점이 발생하게 되는데

  1. 유지보수가 어렵다 - SQL을 수정하게 되면 Java코드를 다 열어서 일일이 수정해야한다.
  2. 생산성이 떨어진다 - 다 수정하다보니 개발 속도가 느려지게 되고 개발자가 코딩을 모두 해야한다.

그래서 이러한 문제점을 해결하기 위해서 나온 방법론을 설명하려고 한다.

바로 MyBatis (DataBase Mapping Framework)
MyBatis -> Java코드와 SQL 을 맵핑(연결) 해주는 프레임워크

우리는 Java 소스코드와 sql 문장을 분리할 것이다 sql문장은 별도의 파일로 보관할 것이다.
(SQL Mapper file) -> xml 파일

📖 sql mapper file 만들기

new -> other -> XML폴더에서 XML File 찾기

이름은 BoardMapper.xml로 만들어준다.

이제 여기에다가 select, insertsql문장을 쓰게되고 DAO에서 불러와서 사용하게 된다.
sql문장은 태그로 감싸주고 id를 주어서 불러서 사용하게 된다.
이러한 구조를 MyBatis Framework 라고 한다.

xml 파일 안에서는 지정된 태그만 사용해야 한다 -> 이것을 스키마라고 부른다.
우리는 MyBatis에서 지정된 스키마를 사용할 것이다.

📖 MyBatis 스키마 가져오기

https://blog.mybatis.org/ <- 접속


MyBatis에서는 기본적으로 JDBC를 포함하고 있기 때문에 개발자는 이제부터 JDBC를 쓸 필요없이
MyBatis를 통해 DB를 접근하고 데이터를 넣고 가져올 것이다.

왼쪽 Getting started 눌러서 디펜던시를 복사한다. (메이븐에서 찾아도 상관은 없다.)

하단에 예시 사용법이 들어가 있다. 복사를 해서 사용하자.

이클립스에 복사해서 넣어준 모습

DAO에서는 Mapper.xml 안에 있는 테그안에 id로 접근해서 가져오게 되고
#{ } 이부분은 JDBC ?이라는 파라미터와 동일하다.

Mapper 파일은 필요에 따라 여러개 생성이 당연히 가능하다.

여러개의 mapper들은 namespace를 통해 구별 할 수 있다.
그러면 안에 동일한 idsql문장 사용가능 하다.

이렇게 자신의 Mapper와 맞게 수정해주는게 좋다.

📌 마무리

📖 한마디

다음 시간에는 DAO를 작성하고 이것저것 더 추가하며 공부를 해 볼것이다.

하나하나 공부해 가는것이 쉬운일은 아니지만 성장해 가고 있다는 것이 느껴질때도 있어서 좋다.

profile
숨쉬는 돌멩이, 말하는 감자.
post-custom-banner

0개의 댓글