그 다음 이클립스에서 구동한 sql
을 더블클릭해서 연결시켜준다.
new
-> other
을 통해서 board.sql
파일을 만들어준다.
그다음 상단에서 sql
파일을 연결해준다.
그 다음 sql
파일안에 테이블 생성 해준다.
int
- 숫자형 타입
auto_increment
- 자동으로 1씩 증가하며 들어가는 키워드
default
- 따로 값을 주지않는한 지정된 초기값 들어가게 하기
datetime
- 시간을 넣어주는 타입
now()
-sql
프로그램 안 현재 시간 자동 넣어주는 함수
그 다음 드래그해서 Alt + X
로 실행 해준다
이렇게 파랑색 체크 Success
가 나오면 성공한것이다.
게시판 번호와, 조회수, 날짜는 기본 default
가 있기 때문에 제목 내용 작성자만 작성한다.
insert
를 실행하고 select
를 통해 보면 Result
에 데이터가 나오게 된다.
먼저 DAO Class
를 만들어준다.
기존 우리는 DAO
클래스 안에 Java
코드와 SQL
문장을 다 넣어서 진행했다.
이러다 보면 문제점이 발생하게 되는데
- 유지보수가 어렵다 - SQL을 수정하게 되면 Java코드를 다 열어서 일일이 수정해야한다.
- 생산성이 떨어진다 - 다 수정하다보니 개발 속도가 느려지게 되고 개발자가 코딩을 모두 해야한다.
그래서 이러한 문제점을 해결하기 위해서 나온 방법론을 설명하려고 한다.
바로 MyBatis (DataBase Mapping Framework)
MyBatis
-> Java
코드와 SQL
을 맵핑(연결) 해주는 프레임워크
우리는 Java
소스코드와 sql
문장을 분리할 것이다 sql
문장은 별도의 파일로 보관할 것이다.
(SQL Mapper file)
-> xml
파일
new
-> other
-> XML
폴더에서 XML File
찾기
이름은 BoardMapper.xml
로 만들어준다.
이제 여기에다가 select
, insert
등 sql
문장을 쓰게되고 DAO
에서 불러와서 사용하게 된다.
sql
문장은 태그로 감싸주고 id
를 주어서 불러서 사용하게 된다.
이러한 구조를 MyBatis Framework
라고 한다.
xml
파일 안에서는 지정된 태그만 사용해야 한다 -> 이것을 스키마라고 부른다.
우리는 MyBatis
에서 지정된 스키마를 사용할 것이다.
MyBatis
에서는 기본적으로 JDBC
를 포함하고 있기 때문에 개발자는 이제부터 JDBC
를 쓸 필요없이
MyBatis
를 통해 DB를 접근하고 데이터를 넣고 가져올 것이다.
왼쪽 Getting started
눌러서 디펜던시를 복사한다. (메이븐에서 찾아도 상관은 없다.)
하단에 예시 사용법이 들어가 있다. 복사를 해서 사용하자.
이클립스에 복사해서 넣어준 모습
DAO
에서는 Mapper.xml
안에 있는 테그안에 id
로 접근해서 가져오게 되고
#{ }
이부분은 JDBC ?
이라는 파라미터와 동일하다.
Mapper
파일은 필요에 따라 여러개 생성이 당연히 가능하다.
여러개의 mapper
들은 namespace
를 통해 구별 할 수 있다.
그러면 안에 동일한 id
로 sql
문장 사용가능 하다.
이렇게 자신의 Mapper
와 맞게 수정해주는게 좋다.
다음 시간에는 DAO를 작성하고 이것저것 더 추가하며 공부를 해 볼것이다.
하나하나 공부해 가는것이 쉬운일은 아니지만 성장해 가고 있다는 것이 느껴질때도 있어서 좋다.