PreparedStatement ๊ฐ์ฒด
- Statement ํ์ ์ธํฐํ์ด์ค๋ก ํ๋ฆฌ ์ปดํ์ผ(์ ์ฒ๋ฆฌ) ๋ SQL๋ฌธ์ ๋ํ๋ด๋ ๊ฐ์ฒด์ด๋ค.
- SQL ๋ฌธ์ ํ๋ฆฌ ์ปดํ์ผ ๋์ด PreparedStatement ๊ฐ์ฒด์ ์ ์ฅ๋๋ฉฐ, ์ด ๊ฐ์ฒด๋ฅผ ๋ฐ๋ณต ์ ์ผ๋ก ์ฌ์ฉํ์ฌ SQL ๋ฌธ์ ํจ์จ์ ์ผ๋ก ์คํ
- SQL๋ฌธ์ ?์ IN ๋งค๊ฐ ๋ณ์๋ฅผ ํ๋์ด์ ๊ฐ์ง ์ ์์ผ๋ฉฐ, IN ๋งค๊ฐ ๋ณ์ ๊ฐ์ ์ค์ ํ๋ setter ๋ฉ์๋(setInt, setString ๋ฑ)๋ ์ ๋ ฅ ๋งค๊ฐ ๋ณ์์ ์ ์ ๋ SQL ์ ํ๊ณผ ํธํ ๊ฐ๋ฅํ ์ ํ์ ์ง์ ํด์ผ ํ๋ค.
- PreparedStatement ๊ฐ์ฒด๋ Connection์ prepareStatement(String sql) ๋ฉ์๋๋ฅผ ํธ์ถํ์ฌ ์ป๋๋ค.
- ๋๊ฐ์ ์ฟผ๋ฆฌ๋ฅผ ์ฌ๋ฌ๋ฒ ๋ฐ๋ณตํด์ ์ฌ์ฉํ ๊ฒฝ์ฐ ๊ฐ์ฒด๋ฅผ ํ๋๋ง ์์ฑํด๋ ๋๋ฏ๋ก ํจ์จ์ฑ์ด ๋์
DB ์์ ์ ํ ๋ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋จ
PreparedStatement ๊ฐ์ฒด๋ฅผ ์ด์ฉํ ์ฟผ๋ฆฌ ์คํ

1) ์คํํ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๋ค.
2) ๊ฐ์ฒด๋ Connection์ prepareStatement(String sql) ๋ฉ์๋๋ฅผ ํธ์ถํ์ฌ PreparedStatement ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ IN ํ๋ผ๋ฏธํฐ๋ฅผ setter์ ์ด์ฉํ์ฌ ์ค์
์ฃผ์ํ ์ ? ๊ฐ์๋งํผ setter๊ฐ ์์ด์ผ ํจ
3) ์ฟผ๋ฆฌ๋ฅผ ์คํ
- DML(INSERT, UPDATE, DELETE), DDL ์คํ
PreparedStatement์ executeUpdate() ๋ฉ์๋๋ฅผ ์ด์ฉํ์ฌ ์คํ. ๋ฉ์๋์ ์ฟผ๋ฆฌ ์ถ๊ฐ โ
- SELECT๋ฌธ ์คํ
PreparedStatement์ executeQuery() ๋ฉ์๋๋ฅผ ์ด์ฉํ์ฌ ์คํ. ๋ฉ์๋์ ์ฟผ๋ฆฌ ์ถ๊ฐ โ
' ' ์ฌ์ฉ ๋ถ๊ฐ
Statement VS PreparedStatement
Statement | PreparedStatement |
แ์ ์ ์ฟผ๋ฆฌ ์คํ แ๋ณด์์ทจ์ฝ แ์ ์ฌ์ฉํ์ง ์์ แํ์์ ์๋ฐ์์ ํธ๋์ญ์ ์ฒ๋ฆฌํด์ผ ํจ |
แStatement ํ์ ์ธํฐํ์ด์ค แ์ ํ ์ปดํ์ผ แ๋ฐ๋ณต ์์ ์์๋ ์๋๊ฐ ๋น ๋ฆ แ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ แ ํ์์ ์๋ฐ์์ ํธ๋์ญ์ ์ฒ๋ฆฌํด์ผ ํจ |
๋ ์ค์ ํ๋๋ง ์ดํดํ๊ณ ์์ผ๋ฉด ๋น ๋ฅด๊ฒ ๋ฐ๊ฟ ์ ์์
์ค๋ฌด์์ ์ ์ฐ์ด์ง ์๊ณ ํฐ ์ฐจ์ด๊ฐ ์์ผ๋ฏ๋ก PreparedStatement ์ฌ์ฉ ๊ถ์ฅ
'๐ปProgramming > โ๏ธJava' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
CallableStatement (0) | 2022.08.23 |
---|---|
PreparedStatement ํ์ฉ (0) | 2022.08.22 |
Statement (0) | 2022.08.19 |
[JAVA] Collections Framework - Queue (0) | 2022.08.03 |
[JAVA] Collections Framework - Map (0) | 2022.08.03 |