๊ฐ๋ ์ ๋ฆฌ ์์ ์ค/Data Base(3)
-
SQL ๋ฌธ์ ํด๊ฒฐ - ๋์ผ ํ์ ๊ฐ ํฉ์น๊ธฐ
๐ Code Content ๐ฝ Service.java @Slf4j @Service("junyharangSaleDailyStatisticService") public class JunyHarangSaleDailyStatisticService implements LogicRepository { @Autowired JdbcQueryFactory query; @Autowired JunyHarangoctDao junyharangoctdao; @Override public List list(QueryContext context) { Map data = context.getData(); if (data == null) { throw new ApiException("500", "data is null"); } in..
2022.02.17 -
[H2-DB] Auto_Increment๋ฅผ ํ๊ณ ์ถ์ง๋ง, SQL Exception์ด ๋ฐ ๋
์ด๊ฒ์ด MySQL์ด๋ค:MySQL ์ค์น๋ถํฐ PHP ํ์ด์ฌ ์ฐ๋๊น์ง ํ๋ฒ์! COUPANG www.coupang.com "์ด ํฌ์คํ ์ ์ฟ ํก ํํธ๋์ค ํ๋์ ์ผํ์ผ๋ก, ์ด์ ๋ฐ๋ฅธ ์ผ์ ์ก์ ์์๋ฃ๋ฅผ ์ ๊ณต๋ฐ์ต๋๋ค." ์์ ๊ฐ์ด Member Table์ ๋ง๋ค๊ณ , member_id๋ฅผ ํตํด ์๋์ผ๋ก Index๊ฐ์ด ์ฌ๋ผ๊ฐ๋ ํ์์ผ๋ก ๊ณ ์ ๋ฒํธ๋ฅผ ์ฃผ๊ฒ ๋ง๋ ๊ฒ์ด์์. DB๋ ์ฐ์ต์ฉ์ผ๋ก ์ฐ๊ธฐ ์ข์ H2 DB๋ฅผ ์ฐ๊ณ ์๋ ๊ฒ์ด์์. ์~~๋ฌด๋ฆฌ ์๊ฐํด ๋ด๋ SQL ๋ฌธ์ด ๋ฌธ์ ๊ฐ ํฐ์ง ๊ฒ ์ ํ ์๋๋ฐ, ์ด๋ ๊ฒ ์๊พธ Exception์ด ํฐ์ก๋ ๊ฒ์ด์์. ์ด๊ฒ H2 DB์์ Auto_Increment์ฒ๋ผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ 15๋ฒ์งธ ์ค ์ฒ๋ผ [ ;MODE=MySQL; ] ์ ์ถ๊ฐ ํด ์ฃผ๋ฉด ์ ์ ์๋ํ๋ ๊ฒ์ ํ์ธํ ๊ฒ์ด์์. ์ด๊ฒ์ด M..
2022.01.12 -
[Data Base] Transaction
๐ Transaction ์ด๋? Data Base์ ์ํ๋ฅผ ๋ณํ ์ํค๋ ํ๋์ ๋ ผ๋ฆฌ์ ๊ธฐ๋ฅ์ ์ํํ๊ธฐ ์ํ ์์ ์ ๋จ์ ๋๋ ํ๊บผ๋ฒ์ ๋ชจ๋ ์ํ ๋์ด์ผ ํ ์ผ๋ จ์ ์ฐ์ฐ์ธ ๊ฒ์ด์์. ๐ ํน์ง ํธ๋์ญ์ ์ Data Base ์์คํ ์์ ๋ณํ ์ ์ด ๋ฐ ํ๋ณต ์์ ์ ์ฒ๋ฆฌ๋๋ ์์ ์ ๋ ผ๋ฆฌ์ ๋จ์ ์ฌ์ฉ์๊ฐ ์์คํ ์ ๋ํ ์๋น์ค ์๊ตฌ ์ ์์คํ ์ด ์๋ตํ๊ธฐ ์ํ ์ํ ๋ณํ ๊ณผ์ ์ ์์ ๋จ์ ํ๋์ ํธ๋์ญ์ ์ commit ๋๊ฑฐ๋, Rollback ๋์ด์ผ ํ๋ค. ๐ ์ฑ์ง ๐ Atomicity(์์์ฑ) ํธ๋์ญ์ ์ ์ฐ์ฐ์ Data Base์ ๋ชจ๋ ๋ฐ์๋๋ ์ง ์๋๋ฉด ์ ํ ๋ฐ์๋์ง ์์์ผ ํ๋ค. ํธ๋์ญ์ ๋ด์ ๋ชจ๋ ๋ช ๋ น์ ๋ฐ๋์ ์๋ฒฝํ ์ํ๋์ด์ผ ํ๋ฉฐ, ๋ชจ๋๊ฐ ์๋ฒฝํ ์ํ๋์ง ์๊ณ , ์ด๋ ํ๋๋ผ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ํธ๋์ญ์ ์ ๋ถ ์ทจ..
2021.10.05