Skip to content

HJk29/java-sql-practice2

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1 Commit
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

์ด๋ฒˆ ์—ฐ์Šต๋ฌธ์ œ์˜ ๋ชฉํ‘œ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ์„ ํ•  ์ˆ˜ ์žˆ๊ณ , ์ฃผ์–ด์ง„ ์Šคํ‚ค๋งˆ๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋„๋ก SQL์„ ์ž‘์„ฑํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

Bare minimum requirement

Part_1, Part_2 ํ…Œ์ŠคํŠธ๋ฅผ ์ „๋ถ€ ํ†ต๊ณผํ•˜์‹ญ์‹œ์˜ค.

Getting Started

1. ๋ณธ์ธ์˜ MySQL ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•ด ์ฃผ์„ธ์š”.

script/Properties.java ํŒŒ์ผ์„ ํ™•์ธํ•˜๊ณ  ๋‚ด ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•ด์ฃผ์„ธ์š”.

  1. practiceSQL์ด๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋งŒ๋“œ์„ธ์š”. ์•ž์œผ๋กœ ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  2. lib/Mysql.java์—์„œ Properties.java ๋ณ€์ˆ˜๊ฐ€ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉ๋˜๋Š”์ง€ ํ™•์ธํ•ด๋ณด์„ธ์š”.

[์ฃผ์˜]

๋‹คํ–‰ํžˆ๋„ ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ์ง์ ‘ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ๋ถ€๋ถ„์„ ์ง์ ‘ ๊ตฌํ˜„ํ•  ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ์—ฐ์Šต๋ฌธ์ œ์—์„œ ์ž‘์„ฑํ•ด์•ผ ํ•  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ๋ถ€๋ถ„์€ ์ด๋ฏธ ๋‹ค ๊ตฌํ˜„๋˜์–ด์žˆ์œผ๋ฉฐ, ์ดํ›„ Section3์—์„œ ํ•™์Šตํ•˜์‹œ๋Š” ๋‚ด์šฉ์„ ํ†ตํ•ด ์ง์ ‘ ์—ฐ๊ฒฐํ•˜๋Š” ๋ถ€๋ถ„์„ ์ž‘์„ฑํ•˜๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ์‹œ๊ฐ„์—๋Š” ํ•ด๋‹น ๋ถ€๋ถ„์„ ์ „๋ถ€ ์ดํ•ด๋ ค๊ณ ํ•˜๊ธฐ ๋ณด๋‹ค๋Š”, Properties.java ๊ด€๋ จํ•˜์—ฌ MySQL ์ •๋ณด๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ์ดˆ์ ์„ ๋‘๊ณ  ๋ณด์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

2. ์—ฐ์Šต๋ฌธ์ œ ๋””๋ ‰ํ† ๋ฆฌ

/lib
  • /lib/FactoryService.java

    • FactoryService๋Š” ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—ฐ๊ฒฐํ•˜์—ฌ, ์›ํ•˜๋Š” SQL์„ ์ž‘์„ฑํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•˜๋Š” ๊ฒƒ๊ณผ ๋ณ„๊ฐœ๋กœ TEST๊ฐ€ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” Class ์ž…๋‹ˆ๋‹ค. ๊ตฌ์ฒด์ ์œผ๋กœ ํ•ด๋‹น ์—ฐ์Šต๋ฌธ์ œ์˜ ๋™์ž‘์ด ๊ถ๊ธˆํ•˜์‹  ๋ถ„๋“ค๋งŒ ์ฐธ๊ณ ํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.
  • /lib/Mysql.java

    • Mysql ์„œ๋น„์Šค์— ์ ‘์†ํ•˜๊ณ  ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋‚ด๋Š” ์ž‘์—…๊ณผ ์ž์›์„ ์ข…๋ฃŒํ•˜๋Š” ๋™์ž‘์„ ๋„์™€์ฃผ๋Š” Class์ž…๋‹ˆ๋‹ค.
/migrations
  • /schema.sql

    • ์ด๋ฒˆ ์—ฐ์Šต๋ฌธ์ œ์˜ ํ•ต์‹ฌ์ด์ž, ๊ผญ ์ž‘์„ฑํ•ด์•ผํ•˜๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ์›ํ•˜๋Š” ํ…Œ์ด๋ธ”๊ณผ ์นผ๋Ÿผ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.
/model
  • FactoryService๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋ณ„๋„์˜ ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ, ํ…Œ์ด๋ธ”์„ ์กฐ์ž‘ํ•˜๊ฒŒ๋ฉ๋‹ˆ๋‹ค.
  • DTO, DAO์— ๋Œ€ํ•œ ๋‚ด์šฉ์€ Section3์—์„œ ํ•™์Šตํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค.
/script
  • ๊ฐ ํŒŒํŠธ์— ๋งž๊ฒŒ SQL STATEMENT๋ฅผ ์ฑ„์›Œ๋„ฃ์–ด์ฃผ์„ธ์š”. ์›ํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•˜๊ณ , ๊ทธ์— ๋งž๋Š” SQL์„ ์ž‘์„ฑํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.
๊ทธ์™ธ ๋””๋ ‰ํ† ๋ฆฌ

.gitignore ํ˜น์€ build.gradle ์™€ ๊ฐ™์€ ๋ถ€๋ถ„์€ ์ฝ”๋“œ๋ฅผ ๋ณด๊ฑฐ๋‚˜ ๊ฒ€์ƒ‰์„ ํ†ตํ•ด์„œ ์ดํ•ดํ•˜์‹ค ์ˆ˜ ์žˆ์—ˆ์œผ๋ฉด ํ•ฉ๋‹ˆ๋‹ค.

[์ฐธ๊ณ  1] ๋ชจ๋“  ํ…Œ์ŠคํŠธ์ผ€์ด์Šค๊ฐ€ ์‹คํ–‰๋˜๊ธฐ ์ „, schema.sql ํŒŒ์ผ์ด ์‹คํ–‰๋˜๊ณ , ๋๋‚œ ํ›„, database๊ฐ€ ์‚ญ์ œ๋œ ํ›„ ์ƒˆ๋กœ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

/lib/FactoryService.java ์˜ setup ๋ฉ”์†Œ๋“œ๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”.

[์ฐธ๊ณ  2] Schema Visualizer

์Šคํ‚ค๋งˆ๋ฅผ ๋””์ž์ธํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ์™ธ๋ถ€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

[์ฐธ๊ณ  3]

ํ˜„์žฌ ํ…Œ์ด๋ธ”์˜ ๊ฒฐ๊ณผ๊ฐ’์„ List์™€ Map์„ ํ™œ์šฉํ•˜์—ฌ ์ถœ๋ ฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ Mysql์—์„œ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒฐ๊ณผ์™€ ํ˜•์‹์ด ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%