나의 생각을 끄적이는 공간

블로그 이미지

Wooni0477

카테고리

  • 분류 전체보기 (118)
    • 프로그래밍 정리 (102)
      • Front (5)
      • Java (2)
      • JSP, Servlet, DB(oracle) (33)
      • JavaScript (0)
      • Spring (22)
      • Oracle (28)
      • Vue (1)
      • API (1)
      • err (5)
      • ERD (1)
      • etc.. (4)
    • BoostCourse (15)
      • HTML/CSS (7)
      • JavaScript (4)
      • JSP (4)
    • 공부 자료들.. (0)
    • 기타 (0)
    • --------------------------- (0)
    • 끄적이는공간.. (0)
      • 이벤트 (0)
      • 여행 (0)

    최근...

  • 포스트
  • 댓글
  • 트랙백
  • 더 보기

웹 프로그래밍 16(JSP,DB)-PreparedStatement

프로그래밍 정리/JSP, Servlet, DB(oracle) 2020. 1. 5. 19:41
반응형
웹 프로그래밍 16(JSP,DB)-PreparedStatement

*PreparedStatement

-DB 사용을 위해 조금 더 중복을 줄이기 위한 객체

-보통 db를 사용할때 필요한 객체는 다음과 같다.

Connection

Statement

ResultSet

하지만 Statement를 사용할 시에 중복되는 경우가 많다. 다음 예를 살펴보자

​

​

-Statement 예제

사용자 4명의 개인정보를 DB에 입력할려고 한다.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Connection conn = Drivermanager.getConnection(url,uid,upw);

Statement st = conn.createStatement();

ResultSet rs = st.executeUpdate("insert into member valuse('"+001+"','"+아무개1+"','"+010-1234-1234+"')";

issuccess(rs.executeQuery());

ResultSet rs = st.executeUpdate("insert into member valuse('"+002+"','"+아무개2+"','"+010-4321-3333+"')";

issuccess(rs.executeQuery());

ResultSet rs = st.executeUpdate("insert into member valuse('"+003+"','"+아무개3+"','"+010-1111-4444+"')";

issuccess(rs.executeQuery());

ResultSet rs = st.executeUpdate("insert into member valuse('"+004+"','"+아무개4+"','"+010-2222-5555+"')";

issuccess(rs.executeQuery());

public void issuccess(int k)

{

int i=k;

if(i == 1)

{

System.out.println("insert success");

}

else

{

System.out.println("insert fail");

}

}

Colored by Color Scripter

ResultSet 객체에 Statament 갱신값을 계속 적어주어야 한다.

소스 보기도 힘들고 효율이 많이 떨어지는것을 볼 수 있다.

​

​

​

-PreparedStatement를 사용해보자

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

Connection conn = Drivermanager.getConnection(url,uid,upw);

String query = "insert into member (id,pw,name,phone) values(?,?,?,?)";

PreparedStatement ps = conn.prepareStatement(query);

ps.setString(1, "aaa");

ps.setString(2, "123");

ps.setString(3, "일번");

ps.setString(4, "011-1111-1234");

issuccess(ps.executeUpdate());

ps.setString(1, "bbb");

ps.setString(2, "123");

ps.setString(3, "이번");

ps.setString(4, "011-2222-4567");

issuccess(ps.executeUpdate());

ps.setString(1, "ccc");

ps.setString(2, "123");

ps.setString(3, "삼번");

ps.setString(4, "011-3333-8910");

issuccess(ps.executeUpdate());

ps.setString(1, "ddd");

ps.setString(2, "123");

ps.setString(3, "사번");

ps.setString(4, "011-4444-1112");

issuccess(ps.executeUpdate());

public void issuccess(int k)

{

int i=k;

if(i == 1)

{

System.out.println("insert success");

}

else

{

System.out.println("insert fail");

}

}

Colored by Color Scripter

Statement보다 훨씬 보기 쉽고 입력하기 간편하다는것을 볼 수 있다.

​

​

​

​

​

​

​

===========================소스=================================

-실전예제

그럼 실제로 데이터를 넣어보자

​

​

-memberDatainsert.jsp

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

<%@page import="java.sql.*"%>

<%@ page language="java" contentType="text/html; charset=EUC-KR"

pageEncoding="EUC-KR"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">

<title>Insert title here</title>

</head>

<body>

<%!

String name;

String id;

String pw;

String phone;

Connection conn = null;

PreparedStatement ps = null;

public void issuccess(int i)

{

if(i == 1)

{

System.out.println("insert success");

}

else

{

System.out.println("insert fail");

}

}

%>

<%

try

{

Class.forName("oracle.jdbc.driver.OracleDriver");

conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:clouddb","testid","password");

String query = "insert into member (id,pw,name,phone) values(?,?,?,?)";

ps = conn.prepareStatement(query);

ps.setString(1, "aaa");

ps.setString(2, "123");

ps.setString(3, "apple");

ps.setString(4, "011-1111-1234");

issuccess(ps.executeUpdate());

ps.setString(1, "bbb");

ps.setString(2, "123");

ps.setString(3, "grape");

ps.setString(4, "011-2222-4567");

issuccess(ps.executeUpdate());

ps.setString(1, "ccc");

ps.setString(2, "123");

ps.setString(3, "dog");

ps.setString(4, "011-3333-8910");

issuccess(ps.executeUpdate());

ps.setString(1, "ddd");

ps.setString(2, "123");

ps.setString(3, "cat");

ps.setString(4, "011-4444-1112");

issuccess(ps.executeUpdate());

}

catch(Exception e)

{

e.printStackTrace();

}

finally

{

try{

if(conn != null) conn.close();

if(ps != null) ps.close();

}catch(Exception e){

e.printStackTrace();

}

}

%>

</body>

</html>

Colored by Color Scripter

​

​

-출력결과

​

-Console

​

-Oracle db


반응형
저작자표시 비영리 변경금지 (새창열림)

'프로그래밍 정리 > JSP, Servlet, DB(oracle)' 카테고리의 다른 글

웹 프로그래밍 18(JSP,DB)-파일 업로드  (0) 2020.01.06
웹 프로그래밍 17(JSP,DB)-커넥션 풀  (0) 2020.01.05
웹 프로그래밍 15(JSP,DB)-DAO, DTO  (1) 2020.01.03
웹 프로그래밍 14-3(JSP,DB,servlet)-가입, 로그인, 수정 페이지  (0) 2020.01.03
웹 프로그래밍 14-2(JSP,DB,servlet)-가입, 로그인, 수정 페이지  (0) 2020.01.03
Posted by Wooni0477
방명록 : 관리자 : 글쓰기
Wooni0477's Blog is powered by daumkakao
Skin info material T Mark3 by 뭐하라
favicon

나의 생각을 끄적이는 공간

  • 태그
  • 링크 추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • 분류 전체보기 (118)
    • 프로그래밍 정리 (102)
      • Front (5)
      • Java (2)
      • JSP, Servlet, DB(oracle) (33)
      • JavaScript (0)
      • Spring (22)
      • Oracle (28)
      • Vue (1)
      • API (1)
      • err (5)
      • ERD (1)
      • etc.. (4)
    • BoostCourse (15)
      • HTML/CSS (7)
      • JavaScript (4)
      • JSP (4)
    • 공부 자료들.. (0)
    • 기타 (0)
    • --------------------------- (0)
    • 끄적이는공간.. (0)
      • 이벤트 (0)
      • 여행 (0)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바