DB에 관련해서 statement가 나왔는데 무엇인지 의미 파악이 잘 되지 않아서 검색해보았다.


//statement의 영어 검색을 한국어로 보니 다음과 같이 나온다.


// 위키백과

문 (프로그래밍) 위키백과, 우리 모두의 백과사전. 컴퓨터 프로그래밍에서 문(文)은 명령형 프로그래밍 언어의 가장 작은 독립 요소이다. 프로그램은 하나 이상의 문이 연결되어 형성된다. 문은 식과 같은 내부 요소를 포함할 수 있다. C를 포함한 많은 프로그래밍 언어는 실행 코드와 정의를 포함하는 문과 더불어 문과 정의 사이에 구별을 둔다. 단순 문과 복합 문 사이에 구별을 둘 수 있다. 뒤에 나오는 것은 구성 요소로서의 문을 포함한다. 


영어 버전을 번역기로 돌려도 내용은 비슷하다.


문이 수행 될 몇몇 액션을 표현 명령형 프로그래밍 언어의 최소 독립형 요소이다. 그것은 특정 작업을 수행하기 위해 컴퓨터에 명령 고급 언어로 작성된 명령이다. 


결론내리자면 statement는 명령 문장이라고 얘기할 수도 있겠다.

DB에 작업을 지시하는 QUERY등, 명령 그 자체를 말하는 것이라 파악해도 되겠다.


그래서 statement는 무슨 역할인가 하니...


C와 다른 언어들로 찾아보려니 잘 안나오고, 주로 나오는 것은 JAVA의 Statement 객체였다.

Connection 객체로 연결을 한 후에, QUERY 작업을 수행하기 위해서 사용하고 있었다.


참조 출처 : https://blog.outsider.ne.kr/6


2. DB 연결 

Connection conn = null; conn = DriverManager.getConnection ("jdbc:oracle:thin:@localhost:1521:ORA92", "scott", "tiger");


Connection을 사용하기 위해서는 java.sql.Connection 을 임포트 해주어야 한다. conn이라는 커넥션을 만든 후에 DriverManager의 getConnection을 통해서 DB를 연결해 준다. 

첫 매개변수는 DB연결쪽이다. 

jdbc:oracle:thin:@부분은 동일하게 사용하고 localhost는 위치(자기자신)를 말한다. 다른PC이거나 할 경우는 IP를 입력해 주고 1521은 해당포트이며 ORA92는 오라클의 SID이다. 자신에 맞게 입력해준다. 두번째와 세번째는 오라클의 아이디와 패스워드이다. 

이 연결부는 SQLException예외처리로 Try-Catch로 감싸 주어야 한다. 


3. 쿼리 준비

PreparedStatement psmt = null; psmt = conn.prepareStatement("DB쿼리문"); 혹은 Statement stmt = null; stmt = conn.createStatement("DB쿼리문"); 를 사용한다. 


4. 쿼리 실행 

psmt.executeUpdate(); 로 쿼리를 실행한다. insert, update, delete 등 값을 받아 오지 않는 쿼리문은 executeUpdate를 이용해서 실행해 준다.


이런 설명도 있었다.

Statement 인터페이스 - Statement 인터페이스는 Connection 객체에 의해 프로그램에 리턴되는 객체에 의해 구현되 일종의 메소드 집합을 정의한다. Statement 객체는 Statement 인터페이스를 구현한 객체



정리해보자면 statement는 DB와 연결되는 connection 객체와의 의사 소통을 위해서, DB에게 명령을 내릴 때 그것을 던져주는 역할을 하는 interface로서, 사용자의 명령(文)에 대응하기 위한 객체인 것 같다.



'프로그래밍 > 프로그래밍 공부' 카테고리의 다른 글

스트림(Stream)이란  (0) 2016.02.05
압축  (0) 2016.01.28
statement란?  (1) 2016.01.27
DAO / VO / DTO란?  (2) 2016.01.27
RDBS,DB모델링,파일시스템 표현 차이  (0) 2016.01.26
연산자  (0) 2016.01.22
Posted by GENESIS8

댓글을 달아 주세요

  1. 공원상 2021.01.07 14:06  댓글주소  수정/삭제  댓글쓰기

    너무 잘 보고 있습니다. 감사합니다 ~ ^^