Connection 객체 및 Statement 객체

4110 단어 JDBC
/**
 *
연결 객체
 *
주요 역할: 데이터 원본과의 연결 열기
 *
사용법:connection 대상의 집합, 방법과 속성을 사용하여 다음과 같은 조작을 할 수 있습니다--"
 *
①connection String, connection Timeout, Mode를 통해 연결 속성 구성
 *
②CursorLocation 속성 설정 - 일괄 업데이트를 지원하는 클라이언트 커서 공급자 호출
 *
③ DefaultDatabase 속성 - 연결에 대한 기본 데이터베이스 설정
 *
④ lsolationLevel 속성 - 에서 연결에 열려 있는 트랜잭션의 격리 수준 설정
 *
⑤ Provider 속성 - OLE DB 공급자 지정
 *
⑥ Open 방법-> 데이터 소스에 대한 물리적 연결
 *
⑥ Close 메서드--> 연결 끊기
 *
⑥ Execute 메서드 - - - - 에서 연결 명령을 실행하고 CommandTimeout 속성을 사용하여 실행을 구성합니다.
 *
⑥ Begintrans, CommitTrans 및 RoolbackTrans 메서드, Attributes 속성 -
 *
열린 연결의 사무를 관리합니다. (공급자가 지원하면 끼워 넣은 사무를 포함합니다.)
 *
§ Errors 컬렉션-> 데이터 소스에서 반환된 오류 확인
 *
⑥ ① Version 속성 - 에서 ADO 실행 버전 읽기
 *
⑥ ② OpenSchema 메서드--> 데이터베이스 모델 정보 얻기
 *
참고: Command 객체를 사용하지 않는 경우
 *
Connection 객체의 Execute 메서드에 질의 문자열을 전송해야 합니다.
 *
그러나 명령 텍스트를 지속성 있게 하고 다시 실행하거나 검색 파라미터를 사용할 때
 *
Command 객체가 필요합니다.
 *
명령을 실행하는 경우:
 *
Command 객체의 Name 속성을 사용하여 명령에 이름을 지정하고 Command를
 *
객체의 ActiveConnection 속성을 연결로 설정합니다.
 *
그런 다음 Connecton 객체를 보내는 방법처럼 명령 이름을 사용하는 문을 실행합니다.
 *
뒤에 매개변수를 포함할 수 있습니다(반환 행이 있으면 뒤에 Recordset 객체가 포함됨).
 *
생성된 레코드세트를 사용자화하기 위한 Recordset 속성 설정
 * 
* Statement 객체
 *
역할:데이터베이스에 SQL 문 보내기
 *
Statement 객체는
 *
Statement:
 *
역할:매개 변수 없이 SQL 문 실행하기
 *
특징: 매번 SQL 문장을 실행할 때마다 데이터베이스에서 SQL 문장의 컴파일을 실행하고 한 번의 조회만 실행하고 결과를 되돌려주는 경우에 사용하는 것이 가장 좋다.
 *
PreparedStatement 이상의 효율성
 *
PreparedStatement:
 *
역할: IN 매개변수가 있거나 없는 SQL 문을 사전 컴파일하는 데 사용
 *
특징: ① 가변 매개 변수의 SQL 문장을 실행할 때 Statement보다 효율이 높고
 *
DBMS가 SQL을 미리 컴파일하기 때문에, 당연히 여러 번 SQL을 컴파일하는 것보다 효율이 높을 것이다
 *
② 안전성이 뛰어나 SQL 주입 등의 문제를 효과적으로 방지한다
 *
③ 여러 번 반복 실행되는 문장에 대해서는 효율이 높을 뿐만 아니라 이런 경우에도batch를 사용하기에 적합하다
 *
④ 코드의 가독성과 유지보수성
 *
CallableStatement:
 *
역할: 데이터베이스 저장 프로세스에 대한 호출을 실행하는 데 사용
 *
특징: 출력 및 입력 매개 변수에 대한 지원 제공
 *
이 인터페이스는 PreparedStatment 인터페이스에서 입력과 출력 매개 변수를 지원합니다.
 *
사용법:
 *
특정 데이터베이스에 연결되면 이 연결을 사용하여 SQL 문을 보낼 수 있습니다.
 *
Statement 객체는 다음과 같이 Conection의createStatement 방법으로 작성됩니다.
 *
	Connection con = DriverManager.getConnection("url", "user", "password");
	Statement stmt = con.createStatement();

 *
 *
Statement 객체를 실행하기 위해 데이터베이스에 전송된 SQL 문이 매개 변수로 Statement에 제공되는 방법:
 *
	ResultSet rs = stmt.executeQuery("SELECT a,b,c FROMTable2");

 * 
 *
Statement 객체를 사용하여 SQL 문 실행하기
 *
Statement 인터페이스는 세 가지 SQL 문장을 실행하는 방법을 제공합니다:excuteQuery,excuteUpdate,execute
 *
SQL 문에서 사용할 수 있는 방법에 따라 달라질 수 있습니다.
 *
 *
executeQuery 메서드 - - 는 단일 결과 세트를 생성하는 데 사용되는 문
 *
예: SELECT 문
 * 
 *
executeUpdate 메서드 -- 은 INSERT, UPDATE, DELETE, SQLDL(데이터 정의 언어) 문을 실행하는 데 사용됩니다.
 *
예: CREATE TABLE, DROP TABLE
 *
install, 업데이트, delete 문장 - 수정표의 0줄 또는 여러 줄에 한 열 또는 여러 열
 *
excuteUpdate의 반환 값은 정수입니다. 영향을 받은 줄 수를 표시합니다. (업데이트 계수)
 *
create table이나drop table 등 실행하지 않는 문장은 excute Update의 반환 값이 모두 0입니다
 * 
 *
execute 방법 - 여러 결과 집합, 여러 업데이트 계수, 양자 조합을 실행하는 데 사용됩니다. (자주 사용하지 않습니다.)
 * 
 *
문장을 실행하는 모든 방법은 호출된 Statement 대상의 현재 결과 집합을 닫습니다. (존재하는 경우)
 *
Statement 객체를 다시 실행하기 전에 현재 ResultSet 객체 처리를 완료해야 합니다.
 * 
 *
Statement 인터페이스의 모든 방법을 계승한 Prepared Statement 인터페이스는 모두 자신의
 *
excuteQuery, excuteUpdate, execute 방법
 * 
 *
Statement 객체 자체에는 SQL 문이 포함되지 않으므로 Statement를 주어야 합니다.execute 메서드는 SQL 문을 매개 변수로 제공합니다.
 *
Prepared Statement 대상은 SQL 문장을 미리 컴파일된 SQL 문장을 포함하기 때문에 매개 변수로 제공하지 않습니다.
 *
CallableStatement 대상은 이러한 방법의 PreparedStatement 형식을 계승합니다

좋은 웹페이지 즐겨찾기