[Model Condition] ์ํ ์ ๋ ฌ ๋ฐ ํํฐ๋ง ๋ก์ง ์ต์ ํ – ์ค๋ณต ์กฐ๊ฑด ์ ๊ฑฐ์ ํจ์จ์ ์ธ SQL ์กฐ๊ฑด ์ค์ ๐
โ๏ธ ๊ธฐ์กด ๋ฌธ์ ์ : ๋ถํ์ํ ์ค๋ณต ์กฐ๊ฑด ์ฒ๋ฆฌ
• ๊ธฐ์กด ์ฝ๋ : ๋ ๊ฐ์ง ์กฐ๊ฑด์ ๋์์ ๊ฒ์ฌ → ๋ง๋ค๋ฉด SQL ์กฐ๊ฑด์ ์ค์ ํ๋ ๋ฐฉ๋ฒ
• ์นดํ ๊ณ ๋ฆฌ ์กฐ๊ฑด๊ณผ ์ ๋ ฌ ์กฐ๊ฑด์ด ๋ฐ๋ณต์ ์ผ๋ก ์ฌ์ฉ๋๋ฉด์ ์ฝ๋ ์ค๋ณต์ด ๋ง์์ง๊ณ ์ ์ง๋ณด์์ฑ์ด ๋จ์ด์ง๋ ๋ฌธ์
→ ์๋ ์ฝ๋ ๋ธ๋ก๊ณผ ๊ฐ์ด ๋์ผํ ์ ๋ ฌ ์กฐ๊ฑด์ ๋์ดํจ
if ("ORDERPOPULAR".equals(CUProductOrderCondition) && "ALLPRODUCT".equals(CUProductCategory)) {
productSingleDTO.setCondition("SELECTALL_3");
}
else if ("ORDERHIGHPRICES".equals(CUProductOrderCondition) && "ALLPRODUCT".equals(CUProductCategory)) {
productSingleDTO.setCondition("SELECTALL_4");
}
else if ("ORDERLOWPRICES".equals(CUProductOrderCondition) && "ALLPRODUCT".equals(CUProductCategory)) {
productSingleDTO.setCondition("SELECTALL_5");
}
• ๋ชจ๋ ์นดํ ๊ณ ๋ฆฌ์ ๋ชจ๋ ์ ๋ ฌ ์กฐ๊ฑด์ ๋์์ ๋น๊ตํจ
๐ ์ฝ๋ ๊ฐ์ : ์ค๋ณต ์ ๊ฑฐ ๋ฐ ๊ตฌ์กฐํ๋ ์ค์
• ์ค๋ณต๋๋ ๋ก์ง์ ์ ๊ฑฐ, ๋ณด๋ค ๊ตฌ์กฐํ๋ ๋ฐฉ์์ผ๋ก ์นดํ
๊ณ ๋ฆฌ์ ์ ๋ ฌ ์กฐ๊ฑด์ ์ค์
• ์นดํ
๊ณ ๋ฆฌ์ ์ ๋ ฌ ๋ฐฉ์์ ๊ฐ๊ฐ ๋ณ์๋ก ์ฒ๋ฆฌํ์ฌ ํ ๋ฒ๋ง ์กฐ๊ฑด์ ๊ฒ์ฌํ๋๋ก ๊ฐ์
โ ๊ฐ์ ๋ ์ฝ๋ ํต์ฌ ๋ก์ง
if ("ORDERPOPULAR".equals(CUProductOrderCondition) && "ALLPRODUCT".equals(CUProductCategory)) {
productSingleDTO.setCondition("SELECTALL_3");
} else if ("ORDERHIGHPRICES".equals(CUProductOrderCondition) && "ALLPRODUCT".equals(CUProductCategory)) {
productSingleDTO.setCondition("SELECTALL_4");
} else if ("ORDERLOWPRICES".equals(CUProductOrderCondition) && "ALLPRODUCT".equals(CUProductCategory)) {
productSingleDTO.setCondition("SELECTALL_5");
} else if ("DAILYSUPPLIESPRODUCT".equals(CUProductCategory)) {
productSingleDTO.setProductSingleCategory("DAILYSUPPLIESPRODUCT");
if ("ORDERPOPULAR".equals(CUProductOrderCondition)) {
productSingleDTO.setCondition("SELECTALL_6");
} else if ("ORDERHIGHPRICES".equals(CUProductOrderCondition)) {
productSingleDTO.setCondition("SELECTALL_7");
} else if ("ORDERLOWPRICES".equals(CUProductOrderCondition)) {
productSingleDTO.setCondition("SELECTALL_8");
}
} else if ("BEVERAGEPRODUCT".equals(CUProductCategory)) {
productSingleDTO.setProductSingleCategory("BEVERAGEPRODUCT");
if ("ORDERPOPULAR".equals(CUProductOrderCondition)) {
productSingleDTO.setCondition("SELECTALL_6");
} else if ("ORDERHIGHPRICES".equals(CUProductOrderCondition)) {
productSingleDTO.setCondition("SELECTALL_7");
} else if ("ORDERLOWPRICES".equals(CUProductOrderCondition)) {
productSingleDTO.setCondition("SELECTALL_8");
}
} else if ("FOODPRODUCT".equals(CUProductCategory)) {
productSingleDTO.setProductSingleCategory("FOODPRODUCT");
if ("ORDERPOPULAR".equals(CUProductOrderCondition)) {
productSingleDTO.setCondition("SELECTALL_6");
} else if ("ORDERHIGHPRICES".equals(CUProductOrderCondition)) {
productSingleDTO.setCondition("SELECTALL_7");
} else if ("ORDERLOWPRICES".equals(CUProductOrderCondition)) {
productSingleDTO.setCondition("SELECTALL_8");
}
}
โจ ๊ฐ์ ํ ๊ธฐ๋ ํจ๊ณผ
โ ์ฝ๋ ์ค๋ณต ์ ๊ฑฐ๋ก ์ ์ง๋ณด์์ฑ ํฅ์
• ๊ธฐ์กด ์ฝ๋์์๋ ๊ฐ ์นดํ ๊ณ ๋ฆฌ๋ณ๋ก ์ ๋ ฌ ์กฐ๊ฑด์ ๋ฐ๋ก ์ค์ → ๋จ ํ ๋ฒ์ ์กฐ๊ฑด ๊ฒ์ฌ๋ก ์ค์ ์ด ๊ฐ๋ฅ
• ์๋ก์ด ์นดํ ๊ณ ๋ฆฌ๋ฅผ ์ถ๊ฐํ ๋๋ ์ค๋ณต ์ฝ๋๋ฅผ ์ถ๊ฐํ์ง ์์๋ ๋จ
โ ๊ฐ๋ ์ฑ ๊ฐ์
• ๊ตฌ์กฐ์ ์ผ๋ก ์ ๋ ฌ ์กฐ๊ฑด๊ณผ ์นดํ ๊ณ ๋ฆฌ ์กฐ๊ฑด์ ๋ช ํํ๊ฒ ๊ตฌ๋ถ → ๊ฐ๋ ์ฑ์ด ํฅ์
• ๋ถํ์ํ if-else ๋ธ๋ก์ ์ค์ด๊ณ , ๋ณด๋ค ์ง๊ด์ ์ธ ์กฐ๊ฑด ๋ถ๋ฆฌ
โ ์คํ ์๋ ์ต์ ํ
• ๊ธฐ์กด ๋ฐฉ์์์๋ ์ฌ๋ฌ if-else ๋ฌธ์ด ์ค๋ณต, ๋ถํ์ํ ์ฐ์ฐ์ด ๋ฐ์ → ์ต์ํ์ ์ฐ์ฐ์ผ๋ก ํ์ํ ์กฐ๊ฑด์ ์ค์
๐ ๊ฒฐ๋ก : ๋ ๊น๋ํ๊ณ ์ ์ง๋ณด์ํ๊ธฐ ์ฌ์ด ์ฝ๋๋ก ๊ฐ์
์กฐ๊ฑด ๊ฒ์ฌ ๋ก์ง์ด ๋จ์ํ๋๊ณ ์ค๋ณต ์ฝ๋๊ฐ ์ ๊ฑฐ
์ฝ๋์ ์ ์ง๋ณด์์ฑ์ ๊ณ ๋ คํ์ฌ ์ต์ ํํ ์ ์๋ ๋ฐฉ์์ ๊ณ ๋ฏผ