๐Ÿ’ปProgramming

    CallableStatement ํ™œ์šฉ(1) - ์˜ค๋ผํด ํ”„๋กœ์‹œ์ €

    1. ํ”„๋กœ์‹œ์ € ์ž‘์„ฑ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€, ์‚ญ์ œ, ์ˆ˜์ •, ํ•™๋ฒˆ ๊ฒ€์ƒ‰, ์ด๋ฆ„ ๊ฒ€์ƒ‰, ์ „์ฒด ๋ฆฌ์ŠคํŠธ, ํ‰๊ท  ๊ณ„์‚ฐ ํ”„๋กœ์‹œ์ € ์ž‘์„ฑ ์‹œ ์œ ์˜์‚ฌํ•ญ developer์—์„œ๋Š” ์ž๋™ ์ปค๋ฐ‹์ด ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ COMMIT ํ•ด์•ผํ•จ %TYPE ํผ์„ผํŠธํƒ€์ž… ํŠน์ • ํ…Œ์ด๋ธ”์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” ์ปฌ๋Ÿผ์˜ ์ž๋ฃŒํ˜•์„ ์ฐธ์กฐํ•˜๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์˜๋ฏธ pHak score.hak%TYPE pHak์ด๋ผ๋Š” ๋ณ€์ˆ˜๋ช…์˜ ํƒ€์ž…์„ score ํ…Œ์ด๋ธ”์˜ hak ์ปฌ๋Ÿผ์˜ ํƒ€์ž…์„ ๊ฐ€์ ธ์™€์„œ ์“ฐ๊ฒ ๋‹ค๋Š” ์˜๋ฏธ 1. SCORE ํ…Œ์ด๋ธ”์— ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ํ”„๋กœ์‹œ์ € CREATE OR REPLACE PROCEDURE insertScore ( pHak IN score.hak%TYPE, pName IN score.name%TYPE, pBirth IN score.birth%TYPE, pKor IN score...

    CallableStatement

    CallableStatement - PreparedStatement ํ•˜์œ„ ์ธํ„ฐํŽ˜์ด์Šค - SQL ์ €์žฅ ํ”„๋กœ์‹œ์ €(stored procedure)๋ฅผ ์‹คํ–‰ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๊ฐ์ฒด - ํ”„๋กœ์‹œ์ € ํ˜ธ์ถœ ๊ตฌ๋ฌธ์—๋Š” ๊ฒฐ๊ณผ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์ง€๋Š” ํ˜•ํƒœ์™€ ๊ฒฐ๊ณผ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์—†๋Š” ํ˜•ํƒœ ๋‘ ํ˜•ํƒœ ๋ชจ๋‘ IN ๋งค๊ฐœ๋ณ€์ˆ˜(์ž…๋ ฅ), OUT ๋งค๊ฐœ๋ณ€์ˆ˜(์ถœ๋ ฅ) , ๋˜๋Š” INOUT ๋งค๊ฐœ๋ณ€์ˆ˜(์ž…์ถœ๋ ฅ)๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ๋˜์–ด์ง€๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๋ณ€์ˆ˜ ๋ฒˆํ˜ธ๋ฅผ ๊ฐ€์ง€๋ฉฐ ?๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ์ €์žฅ์œ„์น˜๋กœ ๋‚˜ํƒ€๋ƒ„ - CallableStatement ๊ฐ์ฒด๋Š” Connection์˜ prepareCall(String sql) ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ์–ป๋Š”๋‹ค - ๊ฒฐ๊ณผ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์ง€๋Š” ๊ฒฝ์šฐ(function) {? = call procedure_name[(?, ?, ...)]} ๊ฒฐ๊ณผ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” OUT ๋งค..

    PreparedStatement ํ™œ์šฉ

    PreparedStatement ํ™œ์šฉ

    myBatis๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์•„๋ž˜์— ์„ค๋ช…๋œ ๋ฒˆ๊ฑฐ๋กœ์šด ์ž‘์—…์„ ๊ฐ„ํŽธํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค... MemberDTO ํด๋ž˜์Šค ๋ฐ์ดํ„ฐ ์ „์†ก ๊ฐ์ฒด ํ•œ ํšŒ์›์˜ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ์Œ getter, setter์„ ํ†ตํ•ด ๋‹ค๋ฅธ ํด๋ž˜์Šค์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅ package db.member2; public class MemberDTO { private String id; private String pwd; private String name; private String birth; private String email; private String tel; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getPwd() { re..

    PreparedStatement

    PreparedStatement

    PreparedStatement ๊ฐ์ฒด - Statement ํ•˜์œ„ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ํ”„๋ฆฌ ์ปดํŒŒ์ผ(์ „ ์ฒ˜๋ฆฌ) ๋œ SQL๋ฌธ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐ์ฒด์ด๋‹ค. - SQL ๋ฌธ์€ ํ”„๋ฆฌ ์ปดํŒŒ์ผ ๋˜์–ด PreparedStatement ๊ฐ์ฒด์— ์ €์žฅ๋˜๋ฉฐ, ์ด ๊ฐ์ฒด๋ฅผ ๋ฐ˜๋ณต ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜์—ฌ SQL ๋ฌธ์„ ํšจ์œจ์ ์œผ๋กœ ์‹คํ–‰ - SQL๋ฌธ์€ ?์˜ IN ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ํ•˜๋‚˜์ด์ƒ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์œผ๋ฉฐ, IN ๋งค๊ฐœ ๋ณ€์ˆ˜ ๊ฐ’์„ ์„ค์ •ํ•˜๋Š” setter ๋ฉ”์†Œ๋“œ(setInt, setString ๋“ฑ)๋Š” ์ž…๋ ฅ ๋งค๊ฐœ ๋ณ€์ˆ˜์˜ ์ •์˜ ๋œ SQL ์œ ํ˜•๊ณผ ํ˜ธํ™˜ ๊ฐ€๋Šฅํ•œ ์œ ํ˜•์„ ์ง€์ • ํ•ด์•ผ ํ•œ๋‹ค. - PreparedStatement ๊ฐ์ฒด๋Š” Connection์˜ prepareStatement(String sql) ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ์–ป๋Š”๋‹ค. - ๋˜‘๊ฐ™์€ ์ฟผ๋ฆฌ๋ฅผ ์—ฌ๋Ÿฌ๋ฒˆ ๋ฐ˜๋ณตํ•ด์„œ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ๊ฐ์ฒด๋ฅผ ํ•˜๋‚˜..