백엔드/Database

Jdbc(ojdbc) 데이터 추가, 수정, 삭제 | TIL_134

ran4 2022. 8. 15. 22:09

https://www.youtube.com/playlist?list=PLq8wAnVUcTFWxwoc41CqmwnO-ZyRDL0og

강의를 듣고 정리한 내용입니다

 


데이터 입력과 PreparedStement


결과 집합(ResultSet) ResultSet rs = st.executeQuery(sql); 을 사용하지 않고

st.executeUpdate(sql); 를 사용한다

 

 

 

데이터 추가

데이터 추가를 위한 SQL문

INSERT INTO notice (title, writer_id, content, files)
values ('TEST', 'grape','test content', '');

 

 

java 코드 + JDBC를 이용한 데이터 추가

String title = "TEST";
String writerId = "grape";
String content = "test content";
String files = "";


//연결 설정
String url = "jdbc:oracle:thin:@localhost:1521/xe";
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection(url, "test", "****");


//데이터 추가 
String sql = "INSERT INTO notice (" +
"title," + "writer_id," + "content," + "files" + ") VALUES (?, ?, ?, ?)";


PreparedStatement st = conn.prepareStatement(sql); //미리 sql문을 준비하여 실행한다

st.setString(1, "title");
//자료형에 따라 setString setInt setLong 등으로 변경
st.setString(2, "writer_id");
st.setString(3, "content");
st.setString(4, "files");

int result = st.executeUpdate();
System.out.println(result);

st.close(); conn.close();

 

**st.executeQuery(sql);을 넣을 경우 오류가 발생한다

 


데이터 수정

> 데이터 수정 SQL문

UPDATE NOTICE SET
TITLE = 'TEST3',
CONTENT = 'HAHAHA',
FILES = ''
WHERE ID = 256;

 

 

데이터 수정 구현코드

String title = "TEST3";
String content = "hahaha3";
String files = "";
int id = 256;


String url = "jdbc:oracle:thin:@localhost:1521/xe";
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection(url, "test", "****");

//테이터 수정
String sql = "UPDATE notice" + " SET" +
" title = ?," + " content = ?," + " files = ?," + " id = ?" + "WHERE ID = ?";
//띄어쓰기에 주의, 공백이 없을경우 쿼리 실행시 오류가 발생할 수 있다


PreparedStatement st = conn.prepareStatement(sql);
st.setString(1, "title");
st.setString(2, "content");
st.setString(3, "files");
st.setInt(4, id);


int result = st.executeUpdate();
System.out.println(result);

st.close(); conn.close();

 


데이터 삭제

> 데이터 삭제 SQL문

DELETE notice WHERE ID = 256;

 

 

데이터 삭제 코드 

DELETE notice WHERE ID = 256;

String url = "jdbc:oracle:thin:@localhost:1521/xe";
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection(url, "test", "****");

String sql = "DELETE notice WHERE ID = ?";
PreparedStatement st = conn.prepareStatement(sql); 
st.setInt(1, id);

int result = st.executeUpdate();
System.out.println(result);

st.close(); conn.close();