Insert 한 기존의 코드 (VALUES (?,?,?,?) & PreparedStatement 사용)
import java.sql.*;
public class Program {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
1. DB 에 Insert 할 데이터
String title = "TEST1";
String writerId = "intarware";
String content = "hahah";
String files = "";
String url = "jdbc:oracle:thin:@localhost:1521:ORCL";
String sql = "INTSERT INTO BOARD ( " +
" title," +
" wirter_id," +
" content," +
" files" +
") VALUES (?,?,?,?)";
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection(url, "데이터베이스ID", "데이터베이스PW");
PreparedStatement st = con.prepareStatement(sql);
st.setString(1, title);
st.setString(2, writerId);
st.setString(3, content);
st.setString(4, files);
int result = st.executeUpdate();
System.out.println(result);
}
}
컬럼명=? 사용하기
import java.sql.*;
public class Program {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
1. DB 에 Update 할 데이터
String title = "TEST2";
String content = "hahah2";
String files = "";
int id = 256;
String url = "jdbc:oracle:thin:@localhost:1521:ORCL";
String sql = "UPDATE BOARD " +
"SET" +
" TITLE=?," +
" content," +
" FILES=?" +
"WHERE ID=?";
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection(url, "데이터베이스ID", "데이터베이스PW");
PreparedStatement st = con.prepareStatement(sql);
st.setString(1, title);
st.setString(2, content);
st.setString(3, files);
st.setString(4, id);
int result = st.executeUpdate();
System.out.println(result);
}
}
- 컬럼명=?
"UPDATE BOARD " + "SET" +
처럼, BOARD 와 SET 사이에 한 칸을 띄워두어야 정상적으로 쿼리문을 인식한다.