DB

JDBC 입력, 수정, 삭제

짱코딩러 2022. 8. 9. 23:58

입력

<insert 쿼리문>
INSERT INTO NOTICE (
    TITLE, 
    WRITER_ID,
    CONTENT,
    FILES
) VALUES (
    'TEST',
    'NEWLEC',
    'TEST CONTENTS',
    ''
);
<자바 코드>
import java.sql.*;
 
public class Program2 {
 
	public static void main(String[] args) throws ClassNotFoundException, SQLException {
 
		String title = "TEST2";
		String writerId = "NEWLEC";
		String content = "hahahaha";
		String files = "";
 
		String url = "jdbc:oracle:thin:@localhost:1521:xe";
		String sql = "INSERT INTO NOTICE (" + "    TITLE, " + "    WRITER_ID," + "    CONTENT," + "    FILES"
				+ ") VALUES (?, ?, ?, ?)";
 
		Class.forName("oracle.jdbc.driver.OracleDriver");
		Connection con = DriverManager.getConnection(url, "system", "1234");
		// Statement st = con.createStatement();
		PreparedStatement st = con.prepareStatement(sql); // Statement에 ?의 값을 채울 수 있는 역할 추가
		st.setString(1, title); // 쿼리문에 (?의 인덱스. 1부터 시작, 값) 셋팅
		st.setString(2, writerId);
		st.setString(3, content);
		st.setString(4, files);
 
		int result = st.executeUpdate(); // insert, update, delete(결과집합 없음). 데이터 조작.
		// ResultSet rs = st.executeQuery(sql); //select(결과집합 존재)
 
		st.close();
		con.close();
 
	}
 
}

 

 

수정

<쿼리>
UPDATE NOTICE 
SET 
    TITLE = 'TEST3',
    CONTENT = 'updating',
    FILES = ''
WHERE ID = 3;
<JAVA>
import java.sql.*;
 
public class Program2 {
 
	public static void main(String[] args) throws ClassNotFoundException, SQLException {
 
		String title = "TEST3";
		String content = "hahahaha3";
		String files = "";
		int id = 3;
 
		String url = "jdbc:oracle:thin:@localhost:1521:xe";
		//쿼리문 옮겨올 때 띄어쓰기까지 다 반영해서 적어줘야함.
        String sql = "UPDATE NOTICE "
				+ "SET "
				+ "    TITLE = ?,"
				+ "    CONTENT = ?,"
				+ "    FILES = ?"
				+ "WHERE ID = ?";
 
		Class.forName("oracle.jdbc.driver.OracleDriver");
		Connection con = DriverManager.getConnection(url, "system", "1234");
		// Statement st = con.createStatement();
		PreparedStatement st = con.prepareStatement(sql); // Statement에 ?의 값을 채울 수 있는 역할 추가
		st.setString(1, title); // 쿼리문에 (?의 인덱스. 1부터 시작, 값) 셋팅
		st.setString(2, content);
		st.setString(3, files);
		st.setInt(4, id);	//문자형에 따라 set- 바꿔주기
 
		int result = st.executeUpdate(); // insert, update, delete(결과집합 없음). 데이터 조작.
		// ResultSet rs = st.executeQuery(sql); //select(결과집합 존재)
 
		st.close();
		con.close();
 
	}
 
}

 

 

삭제

<JAVA>
import java.sql.*;
 
public class Program2 {
 
	public static void main(String[] args) throws ClassNotFoundException, SQLException {
		int id = 256;	//256번째 게시글을 삭제
 
		String url = "jdbc:oracle:thin:@localhost:1521:xe";
		String sql = "DELETE NOTICE WHERE ID = ?";
 
		Class.forName("oracle.jdbc.driver.OracleDriver");
		Connection con = DriverManager.getConnection(url, "system", "1234");
		PreparedStatement st = con.prepareStatement(sql);
		st.setInt(1, id);
 
		int result = st.executeUpdate(); 
 
		st.close();
		con.close();
 
	}
 
}

 

 

 

'DB' 카테고리의 다른 글

JDBC Vo, Dao  (0) 2022.08.10
JDBC 주요 API  (0) 2022.08.10
JDBC 트랜잭션  (0) 2022.08.09
JDBC 기본 코드  (0) 2022.08.09
SQL 롤 권한 제어  (0) 2022.08.09