๊ทธ ๋ค์ ์ดํด๋ฆฝ์ค์์ ๊ตฌ๋ํ 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
์์ ์ง์ ๋ ์คํค๋ง๋ฅผ ์ฌ์ฉํ ๊ฒ์ด๋ค.
https://blog.mybatis.org/ <- ์ ์
MyBatis
์์๋ ๊ธฐ๋ณธ์ ์ผ๋ก JDBC
๋ฅผ ํฌํจํ๊ณ ์๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฐ์๋ ์ด์ ๋ถํฐ JDBC
๋ฅผ ์ธ ํ์์์ด
MyBatis
๋ฅผ ํตํด DB๋ฅผ ์ ๊ทผํ๊ณ ๋ฐ์ดํฐ๋ฅผ ๋ฃ๊ณ ๊ฐ์ ธ์ฌ ๊ฒ์ด๋ค.
์ผ์ชฝ Getting started
๋๋ฌ์ ๋ํ๋์๋ฅผ ๋ณต์ฌํ๋ค. (๋ฉ์ด๋ธ์์ ์ฐพ์๋ ์๊ด์ ์๋ค.)
ํ๋จ์ ์์ ์ฌ์ฉ๋ฒ์ด ๋ค์ด๊ฐ ์๋ค. ๋ณต์ฌ๋ฅผ ํด์ ์ฌ์ฉํ์.
์ดํด๋ฆฝ์ค์ ๋ณต์ฌํด์ ๋ฃ์ด์ค ๋ชจ์ต
DAO
์์๋ Mapper.xml
์์ ์๋ ํ
๊ทธ์์ id
๋ก ์ ๊ทผํด์ ๊ฐ์ ธ์ค๊ฒ ๋๊ณ
#{ }
์ด๋ถ๋ถ์ JDBC ?
์ด๋ผ๋ ํ๋ผ๋ฏธํฐ์ ๋์ผํ๋ค.
Mapper
ํ์ผ์ ํ์์ ๋ฐ๋ผ ์ฌ๋ฌ๊ฐ ์์ฑ์ด ๋น์ฐํ ๊ฐ๋ฅํ๋ค.
์ฌ๋ฌ๊ฐ์ mapper
๋ค์ namespace
๋ฅผ ํตํด ๊ตฌ๋ณ ํ ์ ์๋ค.
๊ทธ๋ฌ๋ฉด ์์ ๋์ผํ id
๋ก sql
๋ฌธ์ฅ ์ฌ์ฉ๊ฐ๋ฅ ํ๋ค.
์ด๋ ๊ฒ ์์ ์ Mapper
์ ๋ง๊ฒ ์์ ํด์ฃผ๋๊ฒ ์ข๋ค.
๋ค์ ์๊ฐ์๋ DAO๋ฅผ ์์ฑํ๊ณ ์ด๊ฒ์ ๊ฒ ๋ ์ถ๊ฐํ๋ฉฐ ๊ณต๋ถ๋ฅผ ํด ๋ณผ๊ฒ์ด๋ค.
ํ๋ํ๋ ๊ณต๋ถํด ๊ฐ๋๊ฒ์ด ์ฌ์ด์ผ์ ์๋์ง๋ง ์ฑ์ฅํด ๊ฐ๊ณ ์๋ค๋ ๊ฒ์ด ๋๊ปด์ง๋๋ ์์ด์ ์ข๋ค.