ํ์ผ ์ ๋ก๋ - BackEnd (Spring Boot)
Spring Boot ๋ก ํ์ผ ์
๋ก๋, ์กฐํ, ์ญ์ ๊ธฐ๋ฅ์ ๊ตฌํํฉ๋๋ค.
๊ตฌํ ๊ธฐ๋ฅ
โข
โฆ
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฑ๋ก
โฆ
ํ์ผ ์์คํ
์ ์ ์ฅ
โข
โฆ
ํ์ผ ๋ชฉ๋ก ์กฐํ
โฆ
๋ค์ด๋ก๋
โฆ
์ธ๋ค์ผ ์ด๋ฏธ์ง ๋ณด๊ธฐ
โฆ
ํ์
๋ณ ํ์ผ ์กฐํ
โข
โฆ
๊ฒ์๊ธ์ ์ข
์๋ ์ฌ๋ฌ ํ์ผ ์ญ์
โฆ
์ ํ ํ์ผ ์ญ์
โฆ
๊ฐ๋ณ ํ์ผ ์ญ์
ํ์ผ ์
๋ก๋
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฑ๋ก
1.
๋ฐ์ดํฐ ๋ฒ ์ด์ค - ํ
์ด๋ธ ์์ฑ
2.
SQL ์ฟผ๋ฆฌ Mapper ์์ฑ
3.
Domain (DTO)
4.
Mapper
5.
Service
6.
Controller
๋ฐ์ดํฐ ๋ฒ ์ด์ค - ํ ์ด๋ธ ์์ฑ
DROP TABLE IF EXISTS `files`;
CREATE TABLE `files` (
`no` BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT 'PK',
`id` VARCHAR(64) NOT NULL COMMENT 'UK',
`p_table` VARCHAR(100) NOT NULL COMMENT '๋ถ๋ชจํ
์ด๋ธ',
`p_no` BIGINT NOT NULL COMMENT '๋ถ๋ชจPK',
`type` ENUM('MAIN', 'SUB') NOT NULL DEFAULT 'SUB' COMMENT 'ํ์
',
`file_name` TEXT NOT NULL COMMENT 'ํ์ผ๋ช
',
`origin_name` TEXT NOT NULL COMMENT '์๋ณธํ์ผ๋ช
',
`file_path` TEXT NOT NULL COMMENT 'ํ์ผ๊ฒฝ๋ก',
`file_size` BIGINT NULL DEFAULT 0 COMMENT '์ฉ๋',
`seq` BIGINT NULL DEFAULT 0 COMMENT '์์',
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '๋ฑ๋ก์ผ์',
`updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '์์ ์ผ์'
);
SQL
๋ณต์ฌ
SQL ์ฟผ๋ฆฌ Mapper ์์ฑ
XML
๋ณต์ฌ
Domain (DTO)
Java
๋ณต์ฌ
Mapper
โข
BaseMapper.java
โข
Filemapper.java
BaseMapper.java
Java
๋ณต์ฌ
Filemapper.java
Java
๋ณต์ฌ
Service
โข
BaseService.java
โข
FileService.java
โข
FileServiceImpl.java
BaseService.java
Java
๋ณต์ฌ
FileService.java
Java
๋ณต์ฌ
FileServiceImpl.java
Java
๋ณต์ฌ
Controller
Java
๋ณต์ฌ
๏ธ ํ์ผ ์กฐํ
โข
ํ์ผ ๋ชฉ๋ก ์กฐํ
โข
๋ค์ด๋ก๋
โข
์ธ๋ค์ผ ์ด๋ฏธ์ง ๋ณด๊ธฐ
โข
ํ์
๋ณ ํ์ผ ์กฐํ
ํ์ผ ๋ชฉ๋ก ์กฐํ
๋ค์ด๋ก๋
์ธ๋ค์ผ ์ด๋ฏธ์ง ๋ณด๊ธฐ
ํ์ ๋ณ ํ์ผ ์กฐํ
โข
๋ถ๋ชจ ๊ธฐ์ค ํ์ผ ์กฐํ
โฆ
โฆ
MAIN ํ์
์กฐํ
โช
Files selectMainFile( Files file )
โช
SQL
SELECT *
FROM files
WHERE p_table = #{pTable}
AND p_no = #{pNo}
AND type = #{type}
SQL
๋ณต์ฌ
โฆ
SUB ํ์
์กฐํ
โช
List<Files> listByType( Files file )
โช
SQL
SELECT *
FROM files
WHERE p_table = #{pTable}
AND p_no = #{pNo}
AND type = #{type}
SQL
๋ณต์ฌ