1 분 소요

데이터 입력하기와 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();
	}
}

오라클에서 데이터 입력확인하기

카테고리:

업데이트:

댓글남기기