반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 메모리스트림
- 상관 서브 쿼리
- 스레드그룸
- ObjectInputStream
- include액션태그
- StringReader
- interrupt()
- char[] String 형변환
- first-child
- InputDialog
- isinterrupted()
- Linux세팅
- ThreadGroup()
- 표현 언어
- sleep()메소드
- 동기화
- include 지시자
- 상관서브쿼리
- Linux셋팅
- 리눅스세팅
- first-of-child
- Daemon()
- StringWriter
- String char[] 형변환
- 리눅스셋팅
- 아이디중복
- include지시자
- ID중복
- MemoryStream
- interrupted()
Archives
- Today
- Total
다연이네
[days03] PreparedStatement - 사원 추가, 수정, 삭제 본문
반응형
PreparedStatement : 성능이 아주 좋음
?의 의미 : PreparedStatement가 사용하는 매개변수
1. PreparedStatement 사용해서 Dept테이블에 레코드 하나 추가
package days03;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import com.util.DBConn;
public class Ex04 {
public static void main(String[] args) {
String sql = "INSERT INTO dept VALUES (?, ?, ?)";
Connection con = null;
PreparedStatement pstmt = null;
con = DBConn.getConnection();
//stmt = con.createStatement(); executeQuery(sql);
try {
pstmt = con.prepareStatement(sql);
//java.sql.SQLException: 인덱스에서 누락된 IN 또는 OUT 매개변수:: 1
//? , ? , ? pstmt의 매개변수 설정을 안함
//execute 하기전에 반드시 물음표들에 해당하는 파라미터 설정해야 함
pstmt.setInt(1, 50); // 1째 ?
pstmt.setString(2, "QC"); //2째 ?
pstmt.setString(3, "SEOUL"); //3째 ?
int rowCount = pstmt.executeUpdate();
if (rowCount ==1) {
System.out.println("> 부서추가 완료!!!");
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
try {
pstmt.close();
DBConn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
System.out.println("=END=");
}//main
}//class
2. Dept테이블에 레코드 하나 수정
package days03;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import com.util.DBConn;
public class Ex04_02 {
public static void main(String[] args) {
String sql = "UPDATE dept "
+" SET dname = ?, loc = ? "
+" WHERE deptno = ? ";
Connection con = null;
PreparedStatement pstmt = null;
con = DBConn.getConnection();
//stmt = con.createStatement(); executeQuery(sql);
try {
pstmt = con.prepareStatement(sql);
//java.sql.SQLException: 인덱스에서 누락된 IN 또는 OUT 매개변수:: 1
//? , ? , ? pstmt의 매개변수 설정을 안함
//execute 하기전에 반드시 물음표들에 해당하는 파라미터 설정해야 함
pstmt.setString(1, "DEVELOPER"); // 1째 ?
pstmt.setString(2, "POHANG"); //2째 ?
pstmt.setInt(3, 50); //3째 ?
int rowCount = pstmt.executeUpdate();
if (rowCount ==1) {
System.out.println("> 부서수정 완료!!!");
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
try {
pstmt.close();
DBConn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
System.out.println("=END=");
}//main
}//class
3. Dept테이블에 레코드 삭제
package days03;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import com.util.DBConn;
public class Ex04_03 {
public static void main(String[] args) {
String sql = "DELETE FROM dept "
+" WHERE deptno = ? ";
Connection con = null;
PreparedStatement pstmt = null;
con = DBConn.getConnection();
try {
pstmt = con.prepareStatement(sql);
pstmt.setInt(1, 50); //3째 ?
int rowCount = pstmt.executeUpdate();
if (rowCount ==1) {
System.out.println("> 부서삭제 완료!!!");
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
try {
pstmt.close();
DBConn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
System.out.println("=END=");
}//main
}//class
반응형
'JDBC' 카테고리의 다른 글
[days04] DTO, VO, DAO, 자바빈즈, POJO 용어 정리 (0) | 2020.11.26 |
---|---|
[days03] PreparedStatement 사원 조회 (0) | 2020.11.25 |
[days03] 문제) 부서별 소속 사원수 정렬하여 출력 (0) | 2020.11.25 |
[days03] 사원 조회, 추가, 삭제 (0) | 2020.11.25 |
[days02] DEPT 테이블 조회, 추가, 수정, 삭제, 검색 (0) | 2020.11.25 |
Comments