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 형식을 계승합니다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
데이터 시각화 도구 FineReport와 AWS RedShift 연결(JDBC 방법)Amazon Redshift는 클라우드의 완전 관리형, 페타바이트 규모 데이터 웨어하우스 서비스입니다. 수백 기가바이트의 데이터로 시작하여 페타바이트 이상까지 확장할 수 있습니다. 이렇게 하면 고객의 비즈니스와 고객...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.