servlet/JDBC

JDBC 4 - 데이터 입력하기와 PreparedStatement

jddng 2021. 11. 30. 21:53
728x90
반응형

데이터 입력하기

VALUES (?,?,?)
PreparedStatement st = con.prepareStatement(sql);
		st.setString(1, title);
		st.setString(2, writerId);
		st.setString(3, content);
//조작(insert, update, delete)은 executeUpdate
int rs = st.executeUpdate(sql);

//<참고>
//데이터베이스 커밋해준다.
con.commit();
//데이터베이스 롤빽해준다.
con.rollback();
// 위 두개를 사용하기 위해서는 con.setAutoCommit(false);를 써줘야한다
public static void main(String[] args) throws ClassNotFoundException, SQLException {
		
		String title = "TEST2";
		String writerId = "NEWLEC";
		String content = "hahaha";
		
		String url = "jdbc:oracle:thin:@localhost:1521/xepdb1";
		String sql = "INSERT INTO notice ("
				+ "    title,"
				+ "    writer_id,"
				+ "    content"
				// VALUES값을 PreparedStatement 객체가 넣어줄수 있다.
				+ ") VALUES (?,?,?)"; // VALUES값을 pRE
		
		Class.forName("oracle.jdbc.driver.OracleDriver");
		Connection con = DriverManager.getConnection(url, "test", "1111");
//		Statement st = con.createStatement();
//		미리 시퀄문을 준비해서 값을 준비하여 바로 실행만 할 수있도록 준비
		PreparedStatement st = con.prepareStatement(sql);
		st.setString(1, title);
		st.setString(2, writerId);
		st.setString(3, content);
		
//		insert, update, delete는 ececuteUpdate를 쓴다.
//		제대로 쿼리문이 실행되었는지 result값 반환
		int result = st.executeUpdate();
		
		System.out.println(result);
		st.close();
		con.close();
	}
728x90
반응형