데이터 입력하기와 PreparedStatement
자바 JDBC 프로그래밍 강의 09 - 데이터 입력하기와 PreparedStatement
지난 시간에 이어서 INSERT문을 이용해 JDBC를 이용해 입력을 한번 해보자….
지난시간 만든 .Java파일을 복사해서 program2를 만들어주자.
INSERT문과 SELECT문의 차이점은 결과집합이 없다는 것이다!
이건 UPDATE, DELETE도 마찬가지이다. 따라서
ResultSet rs = st.executeQuery(sql);
위의 문장은 이제 필요없다. 지워주자. 이것 대신에 st.executeUpdate()를 사용할 것이다. 결과집합을 반환하지 않는 SELECT문 이외의 다른 문장은 Update()를 사용한다.
Update는 결과를 int로 반환하는데, 이는 몇개의 레코드가 영향을 받았는지를 int로 반환하기 때문이다.
결과집합을 담아서 레코드에서 데이터를 뽑아내는 get문장들도 이제 다 필요없다. 지워주자.
package Ex1;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Date;
public class Program {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
String url = "jdbc:oracle:thin:@localhost:1521/xepdb1";
String sql = "SELECT * FROM NOTICE WHERE ID IS NOT NULL";
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection(url, "STUDY", "2720");
Statement st = con.createStatement();
}
st.close();
con.close();
}
}
그럼 이런 상태가 된다.
String sql = "INSERT INTO notice (\\r\\n"
+ " title,\\r\\n"
+ " writer_id,\\r\\n"
+ " content,\\r\\n"
+ " files\\r\\n"
+ ") VALUES (\\r\\n"
+ " 'JDBC...?',\\r\\n"
+ " 'jjo',\\r\\n"
+ " '히히',\\r\\n"
+ " ''\\r\\n"
+ ")";
sql문을 INSERT로 교체해주자. 만약 db에
❗주의점