02.데이터 입력하기와 preparedstatement
데이터 입력하기와 PreparedStratement
insert 할 떄는 select와 다른 부분이 있다
select가 아닐경우 결과 집합이 없다
select 문장은 query를 가지고 결과 값을 resultset을 얻는다
insert update delete를 가지고는 (executeUPdate)조작을 할때는 결과집합이 없다
package ex1;
import java.beans.Statement;
import java.net.URL;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Date;
//
public class Program {
public static void main(String[] args) throws SQLException, ClassNotFoundException{
String title = "TEST2";
String writerID = "newlec";
String content = "hahaha";
String files = "";
String url ="jdbc:oracle:thin:@localhost:1521/orcl";
String sql = "INSERT INTO notice ("
+ " title,"
+ " writer_id,"
+ " content,"
+ " files"
+ ") VALUES ("
+ " 'TEST'," // 사용자에게 입력한 값들을 받는다 변수에 담아서 여기에 넣어야함/ 쿼리식이 정상적으로 들어가있는지 생각해야한다
+ " 'newlec',"//문자열 덧셈이 이루어지면 test2가 되기때문에 오류가 발생하기때문에 statement 확장자를 사용한다
+ " 'test content',"
+ " ''"
+ ")";
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection(url,"eunji","1234");
java.sql.Statement st =con.createStatement();
st.close();
con.close();
}
}
PreparedStatement를 이용하기
package ex1;
import java.beans.Statement;
import java.net.URL;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Date;
//
public class Program {
public static void main(String[] args) throws SQLException, ClassNotFoundException{
String title = "TEST2";
String writerID = "newlec";
String content = "hahaha";
String files = "";
String url ="jdbc:oracle:thin:@localhost:1521/orcl";
String sql = "INSERT INTO notice ("
+ " title,"
+ " writer_id,"
+ " content,"
+ " files"
+ ") VALUES (?,?,?,?)";
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection(url,"eunji","1234");
// sql.Statement st =con.createStatement();
//st.execute query,update를 실행 할때 넘겼는데
PreparedStatement st=con.prepareStatement(sql); //prepare 미리 준비해서 실행하라 statement자체가 쿼리문을 가지고 있다
st.setString(1, title);
st.setString(2, writerID);
st.setString(3, content);
st.setString(4, files);
//prepare쓸때는 sql을 쓰면 안된다
int result = st.executeUpdate();
System.out.println(result); //1이 출력되면 데이터 입력됨
st.close();
con.close();
}
}
오라클에서 데이터 입력확인하기
댓글남기기