๋‚Œ๋‚Œ
ggim
๋‚Œ๋‚Œ
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • โ—พโ—ฝ (96)
    • ๐Ÿ’ฌPL (8)
      • ๐Ÿ’ซJava (8)
    • ๐Ÿ’พDB(Database) (2)
      • โญ•Oracle (1)
    • ๐Ÿ ๊ตญ๋น„์ง€์›ํ•™์› (76)
      • ๐Ÿ“–Java ์ˆ˜์—… (28)
      • ๐Ÿ“–DB ์ˆ˜์—… (14)
      • ๐Ÿ“–HTML ์ˆ˜์—… (5)
      • ๐Ÿ“–CSS ์ˆ˜์—… (3)
      • ๐Ÿ“–JavaScript ์ˆ˜์—… (8)
      • ๐Ÿ“–JSP ์ˆ˜์—… (13)
      • ๐Ÿ“–Spring ์ˆ˜์—… (5)
    • ๐Ÿ’ป๊ฐœ์ธ ๊ณต๋ถ€ (1)
      • ์ž๋ฐ”์˜ ์ •์„ (1)
    • ๐Ÿ’ผ (8)
      • โœ…๊ธฐ๋ณธ ์„ค์น˜ (6)
      • ๐ŸงLinux (2)
    • ๐Ÿ”ฅ๋‹ค์ง (1)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • Home
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
๋‚Œ๋‚Œ

ggim

[DB] ํ•™์› 230203(๊ธˆ) PreparedStatement
๐Ÿ ๊ตญ๋น„์ง€์›ํ•™์›/๐Ÿ“–DB ์ˆ˜์—…

[DB] ํ•™์› 230203(๊ธˆ) PreparedStatement

2023. 2. 9. 10:52

 ** PreparedStatement

- ์ฟผ๋ฆฌ๋ฌธ์„ ์•Œ๊ณ  ์žˆ๋Š” ๊ฐ์ฒด.

- ์ฟผ๋ฆฌ๋ฌธ์„ ๋ฏธ๋ฆฌ ์ƒ์„ฑํ•˜๊ณ , ๊ฐ’์ด ๋“ค์–ด๊ฐ€๋Š” ๋ถ€๋ถ„์„ bind๋ณ€์ˆ˜(?)๋กœ ์ฒ˜๋ฆฌํ•˜์—ฌ

์ฟผ๋ฆฌ๋ฌธ์˜ ๋ณต์žก๋„๋ฅผ ๋‚ฎ์ถ”๋Š” ์ฟผ๋ฆฌ๋ฌธ ์ƒ์„ฑ๊ฐ์ฒด.

- ์ฟผ๋ฆฌ๋ฌธ์ด ๋ฐ˜๋ณต ์‹คํ–‰๋˜๋”๋ผ๋„ ํ•œ๋ฒˆ๋งŒ ์ƒ์„ฑํ•˜์—ฌ ์ฒ˜๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ˜๋ณต ์‹คํ–‰๋˜๋Š”

ํ™˜๊ฒฝ์—์„œ ํšจ์œจ์ด ์ข‹๋‹ค.

- SQLInjection ๊ณต๊ฒฉ์— ์•ˆ์ „ํ•˜๋‹ค.

 

 ์ž‘์—… ์ˆœ์„œ

1. ๋“œ๋ผ์ด๋ฒ„๋กœ๋”ฉ

2. ์ปค๋„ฅ์…˜ ์–ป๊ธฐ

3. ์ฟผ๋ฆฌ๋ฌธ์ƒ์„ฑ๊ฐ์ฒด ์–ป๊ธฐ

 String example=“insert into ํ…Œ์ด๋ธ”๋ช…(์ปฌ๋Ÿผ๋ช…,,) values(?,?,?,?)”;
 PreparedStatement pstmt=con.prepareStatement( example );

 

4. ๋ฐ”์ธ๋“œ๋ณ€์ˆ˜์— ๊ฐ’ ์„ค์ •

-์ •์ˆ˜
  pstmt.setInt( ์ธ๋ฑ์Šค, ์ •์ˆ˜๊ฐ’);
-์‹ค์ˆ˜
  pstmt.setDouble(์ธ๋ฑ์Šค, ์‹ค์ˆ˜๊ฐ’); 
-๋ฌธ์ž์—ด
  pstmt.setString( ์ธ๋ฑ์Šค, ๋ฌธ์ž์—ด ๊ฐ’);	
-๋‚ ์งœ
  pstmt.setDate( ์ธ๋ฑ์Šค, java.sqlDate๊ฐ์ฒด);

 

5. ์ฟผ๋ฆฌ๋ฌธ ์ˆ˜ํ–‰ ํ›„ ๊ฒฐ๊ณผ ์–ป๊ธฐ ( ์ฃผ์˜ : ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋„ฃ์ง€ ์•Š๋„๋ก => ์‹คํ–‰ํ•  ๋•Œ error )

   // ์šฉ๋„์— ๋งž์ถฐ ์‚ฌ์šฉ
   pstmt.executeUpdate();// insert, update, delete
   pstmt.executeQuery(); // select

 

6. ์—ฐ๊ฒฐ ๋Š๊ธฐ

 pstmt.close();  ,  con.close();

 * bind๋ณ€์ˆ˜ ( ? )

- ์ฟผ๋ฆฌ๋ฌธ๊ณผ ๊ฐ’์„ ๋ฌถ์„ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ณ€์ˆ˜.

- ์ฟผ๋ฆฌ๋ฌธ์— ?๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

- ๋ฐ”์ธ๋“œ ๋ณ€์ˆ˜๋Š” L -> R ์ง„ํ–‰ํ•˜๋ฉฐ ์ˆœ์„œ๋Œ€๋กœ 1๋ฒˆ์˜ ์ธ๋ฑ์Šค๋ฅผ ๊ฐ€์ง„๋‹ค.

- ์ปฌ๋Ÿผ๋ช…,ํ…Œ์ด๋ธ”๋ช…์€ ์ ˆ๋Œ€๋กœ ๋ฐ”์ธ๋“œ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.

- ๋ฐ”์ธ๋“œ๋ณ€์ˆ˜์—๋Š” ๋ฌธ์ž์—ด ์ผ์ง€๋ผ๋„ ‘๋ฅผ ๋ถ™์ด์ง€ ์•Š๋Š”๋‹ค.

 String example=“insert into ํ…Œ์ด๋ธ”๋ช…(์ปฌ๋Ÿผ๋ช…,,) values(?,?,?,?)”;

 


 ** Singleton Pattern

- ์‹คํ–‰์ค‘์ธ JVM์—์„œ ํ•˜๋‚˜์˜ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด๋‘๊ณ , ํ•˜๋‚˜์˜ ๊ฐ์ฒด๋ฅผ ์œ ์ง€ํ•˜๋ฉฐ,

ํ•˜๋‚˜์˜ ๊ฐ์ฒด๋งŒ ์‚ฌ์šฉํ•˜๋„๋ก ๋งŒ๋“œ๋Š” Design Pattern.

- ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์ƒ์„ฑ๋˜์–ด์žˆ๋Š” ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•˜๋Š”

์‹œ๊ฐ„์ด ์งง๋‹ค.( ๋น ๋ฅด๋‹ค )

- ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ๋‹ค.

- JVM์—์„œ ๊ฐ์ฒด๊ฐ€ ์†Œ๋ฉธ๋œ ์ดํ›„์—๋Š” ์ฐธ์กฐํ•  ์ˆ˜ ์—†๋‹ค.( ํ•ด๊ฒฐํ•˜๋Š” ์ฝ”๋“œ ์ž‘์„ฑ)

 

์ž‘์„ฑ๋ฒ•)

1.ํด๋ž˜์Šค์™ธ๋ถ€์—์„œ ์ง์ ‘ ๊ฐ์ฒดํ™”ํ•  ์ˆ˜ ์—†๋„๋ก ๋ง‰๋Š”๋‹ค. ( ์ƒ์„ฑ์ž์˜ ์ ‘๊ทผ ์ง€์ •์ž๋ฅผ private)

 

public class Test{

	private static Test t;

	private Test(){
	}
}

 

2. ๊ฐ์ฒด๋ฅผ ํ•˜๋‚˜๋กœ ์œ ์ง€ํ•˜๊ณ , ์ƒ์„ฑ๋œ ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ์ผ.

 

public static Test getInstance(){

	if( t == null ){ // ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜์–ด์žˆ์ง€ ์•Š๋‹ค๋ฉด
		t=new Test();
	}
return t;
}

 

'๐Ÿ ๊ตญ๋น„์ง€์›ํ•™์› > ๐Ÿ“–DB ์ˆ˜์—…' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[DB] ํ•™์› 230202(๋ชฉ) Statement  (0) 2023.02.09
[DB] ํ•™์› 230201(์ˆ˜) JDBC, DBMS ์ž‘์—…์ˆœ์„œ, Execute, ExecuteQuery, ExecuteUpdate  (0) 2023.02.09
[DB] ํ•™์› 230131(ํ™”) self join, ๋ฐฑ์—…, ๋ณต์›. ๊ณ„์ •์ƒ์„ฑ, ๊ณ„์ •์‚ญ์ œ, ๊ถŒํ•œ๋ถ€์—ฌ, ๊ถŒํ•œํšŒ์ˆ˜, synonym, view  (0) 2023.02.01
[DB] ํ•™์› 230130(์›”) sequence, currval, nextval, union, join(inner join, outer join)  (0) 2023.02.01
[DB] ํ•™์› 230127(๊ธˆ) unique, check, not null, default, alter  (0) 2023.01.29
    '๐Ÿ ๊ตญ๋น„์ง€์›ํ•™์›/๐Ÿ“–DB ์ˆ˜์—…' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [DB] ํ•™์› 230202(๋ชฉ) Statement
    • [DB] ํ•™์› 230201(์ˆ˜) JDBC, DBMS ์ž‘์—…์ˆœ์„œ, Execute, ExecuteQuery, ExecuteUpdate
    • [DB] ํ•™์› 230131(ํ™”) self join, ๋ฐฑ์—…, ๋ณต์›. ๊ณ„์ •์ƒ์„ฑ, ๊ณ„์ •์‚ญ์ œ, ๊ถŒํ•œ๋ถ€์—ฌ, ๊ถŒํ•œํšŒ์ˆ˜, synonym, view
    • [DB] ํ•™์› 230130(์›”) sequence, currval, nextval, union, join(inner join, outer join)
    ๋‚Œ๋‚Œ
    ๋‚Œ๋‚Œ
    zzZ zzZ zzZzz

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”