class Test02{
Connection conn = null;
PreparedStatement pstmt = null; //한개의 sql만 수행가능
PreparedStatement pstmt2 = null; //한개의 sql만 수행가능
PreparedStatement pstmt3 = null; //한개의 sql만 수행가능
ResultSet rs = null;
public Test02() {
try {
Class.forName("oracle.jdbc.OracleDriver");
String url = "jdbc:oracle:thin:@localhost:1521:xe";
String id = "test";
String password = "1234";
conn=DriverManager.getConnection(url, id, password);
System.out.println("jdbc driver Connection");
System.out.println("");
/* String name = "호빵";
String phone = "011-3379-1555";
String addr = "Surak";
//sql문:변수가 들어갈 부분을 ?로 넣기
String sql = "insert into members values(members_seq.nextval,?,?,?,sysdate)";
pstmt = conn.prepareStatement(sql);
//?에 대응되는 값 넣기 ?의 대응되는 값을 pstmt.set으로 넣어야한다. (물음표의 갯수만큼)
pstmt.setString(1, name); //1번째 위치 ?에 name 변수 값 넣기
pstmt.setString(2, phone); //2번째 위치 ?에 phone 변수 값 넣기
pstmt.setString(3, addr); //3번째 위치 ?에 addr 변수 값 넣기
int n = pstmt.executeUpdate(); //statement와 다르게 sql을 넣으면 안된다 pstmt는 생성부터 갖고있다.
System.out.println(n+"명의 회원이 추가되었습니다.");*/
String sql2 = "delete from members where num=?";
pstmt2 = conn.prepareStatement(sql2);
pstmt2.setInt(1, 5);
int n1 = pstmt2.executeUpdate();
System.out.println(n1 + "명의 회원이 탈퇴되었습니다.");
String name = "호키";
String phone = "010-3553-1555";
String addr = "Surak";
int num = 4;
String sql3 = "update members set name=?,phone=?,addr=? where num=?";
pstmt3 = conn.prepareStatement(sql3);
pstmt3.setString(1, name); //1번째 위치 ?에 name 변수 값 넣기
pstmt3.setString(2, phone); //2번째 위치 ?에 phone 변수 값 넣기
pstmt3.setString(3, addr); //3번째 위치 ?에 addr 변수 값 넣기
pstmt3.setInt(4 ,num);
int n2 = pstmt3.executeUpdate();
System.out.println(n2+"의 회원정보가 업데이트 되었습니다.");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}finally {
try {
if(pstmt3!=null) pstmt3.close();
if(pstmt2!=null) pstmt2.close();
if(pstmt!=null) pstmt.close();
if(conn!=null) conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
public class JDBC_PreparedStatement {
public static void main(String[] args) {
new Test02();
}
}
'JSP' 카테고리의 다른 글
[EL/JSTL] (0) | 2019.01.18 |
---|---|
[JSP/Servlet] Statement / PreparedStatement (0) | 2018.12.20 |
[JSP/Servlet] Select (0) | 2018.12.18 |
[JSP/Servlet] Oracle 연결 (0) | 2018.12.18 |
[JSP/Servlet]페이지이동 (2) | 2018.12.13 |