JDMC 쿼리문(Insert, Delete, Update) 사용해보기

Jan 19, 2024
JDMC 쿼리문(Insert, Delete, Update) 사용해보기
 
 
public class BankApp { public static void main(String[] args) { Connection conn = DBConnection.getInstance(); try { String insert = "insert into account_tb(password,balance,created_at) values(?,?,now())"; String update = "update account_tb set balance = balance + ? where number = ?"; String delete = "delete from account_tb where number = ?"; PreparedStatement pstmt = conn.prepareStatement(delete); int num = pstmt.executeUpdate(); System.out.println(num); } catch (Exception e) { throw new RuntimeException(e); } } }
 
 
위와 같은 코드를 만들었다. 코드처럼 미리 쿼리문을 작성해놓고 prepareStatement() 에 원하는 값을 넣어서 사용할 수 있다.
account_tb 테이블을 가지고 실행한다. 테이블과 관련된 내용은 이전 블로그를 참조하면 된다.
 
 

1. Delete문

DELETE FROM 테이블명 WHERE 원하는값=? delete from account_tb where number = ?
 
PreparedStatement pstmt = conn.prepareStatement(delete); pstmt.setInt(1,1);
 
(1,1) 에서 첫 번째 1은 원하는 변수 ? 의 위치이다. 두번째 1은 선택할 데이터이다.
코드에서는 ? 가 1개 밖에 없기 때문에 number 이고, number 값이 1인 데이터가 삭제된다.
 
notion image
 
heidiSQL 실행 시 number 1 이 삭제됐다.
 

2. Insert문

 
INSERT INTO 테이블명 (column1, column2, column3, ...) VALUES (?, ?, ?, ...)") insert into account_tb(password,balance,created_at) values(?,?,now())
 
PreparedStatement pstmt = conn.prepareStatement(insert); pstmt.setString(1,"0987"); pstmt.setInt(2,3000);
 
첫번째 ?는 문자열 password 에 0987 을 입력하고, 두번째 ? 는 정수 3000을 입력한다.
 
notion image
 
데이터가 추가되었다.
 
 

3. Update문

 
UPDATE 테이블명 SET column1 = 'new_value1', column2 = 'new_value2' WHERE 원하는값=? update account_tb set balance = balance + ? where number = ?
 
PreparedStatement pstmt = conn.prepareStatement(update); pstmt.setInt(1,5000); pstmt.setInt(2,2);
 
첫번째 ? 는 5000을 현재의 balance 에 합산하고, 두번째 ? 는 2번을 업데이트 한다는 뜻이다.
 
 
notion image
 
number 2 값이 변경되었다.
Share article

{CODE-RYU};