- ๋ธ๋ก๊ทธ ์์คํ
- ํ์๊ฐ์ ๊ฐ๋ฅ
- ํ์๊ฐ์ ์, ํด๋น ์ฌ์ฉ์์ ๋ธ๋ก๊ทธ๊ฐ ์๋ ์์ฑ
- ์์ฑ๋ ๋ธ๋ก๊ทธ๋ ๋ธ๋ก๊ทธ ์ฃผ์ธ๋ฟ๋ง ์๋๋ผ ์ธ์ฆ ์๋ ์ธ๋ถ ์ ๊ทผ์ด ๊ฐ๋ฅ
- ์ธ์ฆ๋ ์ฌ์ฉ์๊ฐ ์์ ์ ๋ธ๋ก๊ทธ์ ์ ๊ทผํ๋ฉด ๊ด๋ฆฌ๋ฉ๋ด๊ฐ ๋ํ๋๊ณ ๊ด๋ฆฌ ๋ฉ๋ด๋ฅผ ํตํด ๋ธ๋ก๊ทธ ๊ด๋ฆฌํ์ด์ง์ ์ ๊ทผ
- ๊ด๋ฆฌ ํ์ด์ง์์ ๋ธ๋ก๊ทธ์ ์ฌ๋ฌ ์ค์ ์ ๋ณ๊ฒฝ ๊ฐ๋ฅ
- 404 error โ 500 error โ main ๐โโ๏ธ
๐ ์ฌ์ฉ์์ ์๋ชป๋ ์ ๋ ฅ 2: (์ฌ์ฉ์ID:dpqmsdl0614์ธ ์ํฉ) /jblog03/sonrisa-bonita/admin/basic
- redirect:/dpqmsdl0614 ๐โโ๏ธ
- ์ ๋ ฅ์ฐฝ Empty ๋ฐ ๊ธ์์ ์ฒดํฌ โ
- ๋ก๊ทธ์ธ ์ด๋ ๋ฒํผ โ
- ๋ก๊ทธ์ธ ์คํจ โ
- ๋ก๊ทธ์ธ ์ฑ๊ณต โ : redirect:/jblog03/
- ํ์๊ฐ์
ํ ์ ์ , ์๋ ๋ธ๋ก๊ทธ ์์ฑ โ
- ๊ธฐ๋ณธ ์นดํ ๊ณ ๋ฆฌ ์ถ๊ฐ ๋ฐ ๊ธฐ๋ณธ ํ์ดํ, ์ด๋ฏธ์ง ์ค์ ๐
- ๋ธ๋ก๊ทธ ๊ด๋ฆฌ ๋ฒํผ ์ ๋ฌด โ
- ๋ด ๋ธ๋ก๊ทธ์ธ ๊ฒฝ์ฐ, [๋ธ๋ก๊ทธ ๊ด๋ฆฌ] [๋ก๊ทธ์์] ๋ฒํผ ์์ฑ ๐
- ํ์ธ ๋ธ๋ก๊ทธ์ธ ๊ฒฝ์ฐ, [๋ด๋ธ๋ก๊ทธ] [๋ก๊ทธ์์] ๋ฒํผ ์์ฑ ๐
- ๋ก๊ทธ์ธ ํ์ง ์์ ์ ์ ์ ๊ฒฝ์ฐ, [๋ก๊ทธ์ธ] ๋ฒํผ ์์ฑ ๐
-
๊ฐ์ฅ ์ต์ ์ ์์ฑํ ๊ธ ํ์ธ โ
-
์นดํ ๊ณ ๋ฆฌ๋ณ ๊ฒ์ ๊ฐ๋ฅ โ : /jblog03/{id}?c={category_no} , /jblog03/{id}?c={category_no}&n={post_no}
- ๊ธ ์์ธ๋ณด๊ธฐ โ : /jblog03/{id}?n={post_no}
-
Read โ
-
Update โ
- ์ ๋ชฉ๋ง ๋ณ๊ฒฝ ๊ฐ๋ฅ ๐
- ๋ณ๊ฒฝ ์, Header์ Footer ๋์ ๋ณ๊ฒฝ โจ
- ์ด๋ฏธ์ง ๋ณ๊ฒฝ ๐
- Read โ
- ๊ธฐ๋ณธ ์นดํ ๊ณ ๋ฆฌ๋ก [๋ฏธ๋ถ๋ฅ] ์์ฑ ๐
- ๊ธฐ๋ณธ ์นดํ ๊ณ ๋ฆฌ๋ ์ญ์ ๋ถ๊ฐ ๐
- Create โ
- Update โ
- ๊ธ ์์ฑ ์, post ์ + 1 ๐
- Delete โ
- ์นดํ ๊ณ ๋ฆฌ ์ญ์ ์, ํด๋น ์นดํ ๊ณ ๋ฆฌ๋ก ์์ฑ๋ ๊ธ ์๋ ์ญ์ ๐
- Create โ : ์ฑ๊ณต ์, redirect:/{id} ๐
- SQL ํ ์ด๋ธ ์์ฑ
-- ์ฌ์ฉ์(user) ํ
์ด๋ธ ์์ฑ
CREATE TABLE user (
id VARCHAR(45) PRIMARY KEY NOT NULL,
name VARCHAR(45) NOT NULL,
password VARCHAR(64) NOT NULL
);
-- 1:1 ์๋ณ ๊ด๊ณ
create table blog(
blog_id VARCHAR(45) PRIMARY KEY NOT NULL,
title varchar(200) not null,
image varchar(200) not null,
foreign key (blog_id) references user (id)
);
-- 1:๋ค ๋น์๋ณ ๊ด๊ณ
create table category(
no int not null auto_increment,
name varchar(45) not null,
description varchar(200) not null,
blog_id VARCHAR(45) NOT NULL,
postNum Long NOT NULL default 0,
primary key(no),
foreign key (blog_id) references blog (blog_id) ON DELETE CASCADE
);
-- 1: ๋ค ๋น์๋ณ ๊ด๊ณ
create table post(
no int not null auto_increment,
title varchar(200) not null,
contents TEXT not null,
category_no int not null,
date DATE NOT NULL,
primary key(no),
foreign key (category_no) references category (no) ON DELETE CASCADE
);
- ํธ๋ฆฌ๊ฑฐ
DELIMITER //
CREATE TRIGGER CreateUserBlogTitle
AFTER INSERT ON user
FOR EACH ROW
BEGIN
INSERT INTO blog (blog_id, title, image) VALUES (NEW.id, CONCAT(NEW.id, '๋์ ๋ธ๋ก๊ทธ'), 'assets/images/spring-logo.jpg');
END;
//
DELIMITER ;