JDBC 핵심 기술 상세 설명

7668 단어 JavaJDBC핵심 기술
1.JDBC 개요
1.데이터 의 지속 화
지구 화(persistence):정전 식 저장 장치 에 데 이 터 를 저장 하여 나중에 사용 할 수 있 도록 합 니 다.대부분의 경우,특히 기업 급 응용 에서 데이터 의 지속 화 는 메모리 에 있 는 데 이 터 를 하 드 디스크 에 저장 하여'경화'하 는 것 을 의미 하 며,지속 적 인 실현 과정 은 대부분 각종 관계 데이터 베 이 스 를 통 해 이 루어 진다.
영구적 인 주요 응용 프로그램 은 메모리 에 있 는 데 이 터 를 관계 형 데이터베이스 에 저장 하 는 것 입 니 다.물론 디스크 파일,XML 데이터 파일 에 도 저장 할 수 있 습 니 다.
在这里插入图片描述
2.자바 의 데이터 저장 기술 은 자바 에서 데이터베이스 액세스 기술 은 다음 과 같은 몇 가지 로 나 눌 수 있다.
Ø JDBC 데이터베이스 직접 접근
Ø JDO 기술
Ø 제3자 O/R 도구,예 를 들 어 Hibernate,my batis 등 JDBC 는 자바 가 데이터 베 이 스 를 방문 하 는 초석,JDO,Hibernate 등 이 더 좋 을 뿐 입 니 다.
JDBC
3.JDBC 기초
在这里插入图片描述
데이터베이스 연결:
在这里插入图片描述
在这里插入图片描述
4.JDBC 시스템 구조
JDBC 인터페이스(API)는 두 가지 차원 을 포함한다.
Ø 응용 을 위 한 API:Java API,추상 인터페이스,공급 용 프로그램 개발 자 사용(데이터베이스 연결,SQL 문장 실행,결과 획득).
Ø 데이터 베 이 스 를 위 한 API:Java Driver API,개발 업 체 가 데이터베이스 드라이버 를 개발 할 수 있 도록 제공 합 니 다.
在这里插入图片描述
5、JDBC API
JDBC API 는 일련의 인터페이스 로 응용 프로그램 이 데이터 베 이 스 를 연결 하고 SQL 문 구 를 실행 하 며 결 과 를 되 돌려 줍 니 다.
在这里插入图片描述
6.JDBC 프로그램 이 데이터베이스 에 접근 하 는 절차
在这里插入图片描述
在这里插入图片描述
2.데이터베이스 연결 가 져 오기
1.드라이버 인터페이스
java.sql.Driver 인 터 페 이 스 는 모든 JDBC 드라이버 가 실현 해 야 할 인터페이스 입 니 다.이 인 터 페 이 스 는 리프팅 이다.
데이터베이스 업 체 가 사용 하 는,서로 다른 데이터베이스 업 체 가 서로 다른 실현 을 제공 합 니 다.
프로그램 에서 Driver 인 터 페 이 스 를 실현 하 는 클래스 에 직접 접근 할 필요 가 없 이 드라이버 가 관리 합 니 다.
드라이버 클래스(java.sql.DriverManager)에서 이 드라이버 를 호출 합 니 다.
Ø Oracle 드라이버:oracle.jdbc.driver.OracleDriver
Ø mySql 의 구동:com.mysql.jdbc.Driver
2.JDBC 드라이브 불 러 오기 및 등록
在这里插入图片描述
3.연결 만 들 기(연결)
在这里插入图片描述
4.자주 사용 하 는 데이터베이스 의 JDBC URL
在这里插入图片描述
mysql 코드 연결 실례:

import java.io.InputStream;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

import org.junit.Test;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Driver;

public class testconnction01 {
 
	
    /**
     * @throws SQLException
     */
    @Test
    //   
	public void testConnection011() throws SQLException {
		Driver driver = new com.mysql.jdbc.Driver();
		String url = "jdbc:mysql://localhost:3306/test";
		Properties info = new Properties();
		info.setProperty("user", "root");
		info.setProperty("password", "root");
		Connection collection = (Connection) driver.connect(url, info);
		System.out.println(collection);
	}
    
    @Test
    //   ,       ,             
   	public void testConnection02() throws Exception {
   		//  Driver     ;    
   		Class clazz= Class.forName("com.mysql.jdbc.Driver");
   		Driver driver=(Driver) clazz.newInstance();
   		//         
   		String url = "jdbc:mysql://localhost:3306/test";
   		//             
   		Properties info = new Properties();
   		info.setProperty("user", "root");
   		info.setProperty("password", "root");
   		//    
   		Connection collection = (Connection) driver.connect(url, info);
   		System.out.println(collection);
   	}
    
    @Test
    //   ,  DriverManager  Driver
   	public void testConnection03() throws Exception {
    	Class clazz= Class.forName("com.mysql.jdbc.Driver");
   		Driver driver=(Driver) clazz.newInstance();
   		
   		//             ;
   		String url ="jdbc:mysql://localhost:3306/test";
   		String user ="root";
   		String password ="root";
   		
    	//    
    	DriverManager.registerDriver(driver);
    	
    	//    
    	Connection connection= (Connection) DriverManager.getConnection(url,user,password);
   		System.out.println(connection);
   	}
    
    @Test
    //   ,        ,           。
   	public void testConnection04() throws Exception {
   
   		//             ;
   		String url ="jdbc:mysql://localhost:3306/test";
   		String user ="root";
   		String password ="root";
   		
   		Class.forName("com.mysql.jdbc.Driver");
   		
//   		Class clazz= Class.forName("com.mysql.jdbc.Driver");
//   		Driver driver=(Driver) clazz.newInstance();
//   		
//    	//    
//    	DriverManager.registerDriver(driver);
//    	
    	//    
    	Connection connection= (Connection) DriverManager.getConnection(url,user,password);
   		System.out.println(connection);
   	}
    
    @Test
    //   ,(final ):         4             ,           ,    
    //           (  )
   	public void testConnection05() throws Exception {
   
   	//       4     
    InputStream is = testconnction01.class.getClassLoader().getResourceAsStream("jdbc.properties");
    
      Properties p =new Properties();
      p.load(is);
      
      String user = p.getProperty("user");
      String password = p.getProperty("password");
      String url = p.getProperty("url");
      String driverClass =p.getProperty("driverClass");
      
      Class.forName(driverClass);
      
        //    
  	    Connection connection= (Connection) DriverManager.getConnection(url,user,password);
 		System.out.println(connection);
   	}
}
5.Statement 을 사용 하여 데이터 시트 를 조작 하 는 단점 a.맞 춤 법 SQL 문 구 를 사용 해 야 합 니 다.
在这里插入图片描述
6.Statement 작업 은 SQL 주입 공격 을 초래 합 니 다
在这里插入图片描述
데이터베이스 연결 은 데이터베이스 서버 에 명령 과 SQL 문 구 를 보 내 고 데이터베이스 서버 가 되 돌아 오 는 결 과 를 받 아들 이 는 데 사 용 됩 니 다.사실 데이터베이스 연결 은 Socket 연결 입 니 다.
자바.sql 패키지 에서 3 개의 인 터 페 이 스 는 각각 데이터 베 이 스 를 호출 하 는 다른 방식 을 정의 합 니 다.
Statement:정적 SQL 문 구 를 실행 하고 생 성 된 결 과 를 되 돌려 주 는 대상 입 니 다.Prepated Iatement:SQL 문 구 는 미리 컴 파일 되 어 이 대상 에 저장 되 어 있 으 며,이 대상 을 사용 하여 이 문 구 를 여러 번 효율적으로 실행 할 수 있 습 니 다.CallableStatement:SQL 저장 프로 세 스 를 실행 하 는 데 사 용 됩 니 다.
- 在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
JDBC 핵심 기술 에 대한 상세 한 설명 을 담 은 이 글 은 여기까지 입 니 다.더 많은 관련 JDBC 핵심 기술 내용 은 저희 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 읽 어 주시 기 바 랍 니 다.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기