전체 자바 개발 중 JDBC 연결 데이터베이스 절차

JDBC 로 데이터 베 이 스 를 연결 하 는 프로그램 을 만 듭 니 다. 다음 과 같은 몇 가지 절차 가 있 습 니 다.
1. 전기 관련 업무
  • 데이터베이스 설치 설정
  • 자바 프로젝트 새로 만 들 기
  • 필요 한 jar 패키지 도입 (mysql - connector - java - 5.1.22 - bin. jar)
  • 2. JDBC 드라이버 불 러 오기: 데이터 베 이 스 를 연결 하기 전에 연결 하고 자 하 는 데이터베이스 드라이버 JVM (Java 가상 머 신) 을 불 러 오고 자바. lang. Class 류 의 정적 방법 forName (String className) 을 통 해 이 루어 집 니 다.예 를 들 면:
        try{   
            //      
            String driverName = "com.mysql.jdbc.Driver";
            //  MySql     
            Class.forName(driverName ) ;   
        }catch(ClassNotFoundException e){   
            System.out.println("         ,      !");   
            e.printStackTrace() ;   
        }   

    성공 적 으로 불 러 오 면 Driver 클래스 의 인 스 턴 스 를 DriverManager 클래스 에 등록 합 니 다.
    3. JDBC 연결 을 제공 하 는 URL 연결 URL 은 데이터 베 이 스 를 연결 할 때의 프로 토 콜, 서브 프로 토 콜, 데이터 소스 표 지 를 정의 합 니 다.쓰기 형식: 프로 토 콜: 서브 프로 토 콜: 데이터 소스 표지 프로 토 콜: JDBC 에서 항상 jdbc 로 서브 프로 토 콜 을 시작 합 니 다. 다리 연결 드라이버 나 데이터 베이스 관리 시스템 이름 입 니 다.데이터 원본 표지: 데이터베이스 원본 을 찾 은 주소 와 연결 포트 를 표시 합 니 다.예: (MySql 의 연결 URL)
    jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gbk;   

    useUnicode = true: 유 니 코드 문자 집합 을 사용 합 니 다.characterEncoding 이 gb 2312 또는 GBK 로 설정 되면 이 매개 변 수 는 true 로 설정 해 야 합 니 다.
    characterEncoding = gbk: 문자 인 코딩 방식.
    4. 데이터베이스 연결 만 들 기
    데이터 베 이 스 를 연결 하려 면 자바. sql. driverManager 에 요청 하고 Connection 대상 을 가 져 와 야 합 니 다. 이 대상 은 데이터베이스 연결 을 대표 합 니 다.
    DriverManager 의 getConnectin (String url, String username, String password) 방법 으로 연결 할 데이터베이스 의 경로, 데이터베이스 의 사용자 이름과 비밀 번 호 를 입력 하여 얻 을 수 있 습 니 다.
    예 를 들 면:
    //  MySql   ,        root 
    String url = "jdbc:mysql://localhost:3306/test" ;    
    String userName = "root" ;   
    String password = "root" ;   
    try{   
        Connection con =    
                 DriverManager.getConnection(url ,userName,password);   
    }catch(SQLException se){   
        System.out.println("       !");   
        se.printStackTrace() ;   
    } 

    5. Statement 을 만 들 려 면 SQL 문 구 를 실행 하려 면 자바. sql. Statement 인 스 턴 스 를 받 아야 합 니 다. Statement 인 스 턴 스 는 다음 과 같은 세 가지 유형 으로 나 눌 수 있 습 니 다. 1. 정적 SQL 문 구 를 실행 해 야 합 니 다.보통 Statement 인 스 턴 스 를 통 해 이 루어 집 니 다.2. 동적 SQL 문 구 를 실행 합 니 다.보통 Prepared Statement 인 스 턴 스 를 통 해 이 루어 집 니 다.3. 데이터베이스 저장 과정 을 실행 합 니 다.보통 Callable Statement 인 스 턴 스 를 통 해 이 루어 집 니 다.구체 적 인 실현 방식:
    Statement stmt = con.createStatement() ; 
    PreparedStatement pstmt = con.prepareStatement(sql) ; 
    CallableStatement cstmt =    
            con.prepareCall("{CALL demoSp(? , ?)}") ; 

    6. SQL 문 구 를 실행 하 는 Statement 인 터 페 이 스 는 SQL 문 구 를 실행 하 는 세 가지 방법 을 제공 합 니 다. executeQuery, executeUpdate 와 execute 1, ResultSet executeQuery (String sqlString): 데이터 베 이 스 를 조회 하 는 SQL 문 구 를 실행 하고 결과 집합 (ResultSet) 대상 을 되 돌려 줍 니 다.2. int executeUpdate (String sqlString): INSERT, UPDATE 또는 DELETE 문 구 를 실행 하고 SQL DDL 문 구 를 실행 합 니 다. 예 를 들 어 CREATE TABLE 과 DROP TABLE 등 3. execute (sqlString): 여러 결과 집합, 여러 업데이트 계수 또는 두 사람의 조합 을 되 돌려 주 는 문 구 를 실행 합 니 다.구체 적 으로 실 현 된 코드:
    ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ; int rows = stmt.executeUpdate("INSERT INTO ...") ; boolean flag = stmt.execute(String sql) ; 

    7. 처리 결과 두 가지 상황: 1. 업 데 이 트 를 실행 하면 이번 작업 에 영향 을 미 친 기록 수 를 되 돌려 줍 니 다.2. 조 회 를 실행 하고 돌아 온 결 과 는 ResultSet 대상 입 니 다.
    ResultSet 은 SQL 문장의 조건 에 맞 는 모든 줄 을 포함 하고 get 방법 을 통 해 이 줄 의 데이터 에 대한 접근 을 제공 합 니 다.결과 집합 (ResultSet) 대상 의 접근 방법 으로 데 이 터 를 가 져 옵 니 다.
         while(rs.next()){   
             String name = rs.getString("name") ;   
             String pass = rs.getString(1) ; //         
         }   
    
        (         ,    1

    8. JDBC 대상 을 닫 는 작업 이 끝 난 후에 사용 하 는 모든 JDBC 대상 을 닫 고 JDBC 자원 을 방출 해 야 합 니 다. 닫 는 순서 와 성명 순 서 는 반대 입 니 다. 1. 기록 집 2 를 닫 고 성명 3 을 닫 으 며 연결 대상 을 닫 습 니 다.
    if(rs != null){   //       
        try{   
              rs.close() ;   
            }catch(SQLException e){   
                e.printStackTrace() ;   
            }   
     }   
    
     if(stmt != null){   //      
         try{   
                stmt.close() ;   
            }catch(SQLException e){   
                e.printStackTrace() ;   
            }   
    }   
    
    if(conn != null){  //        
        try{   
              conn.close() ;   
           }catch(SQLException e){   
                e.printStackTrace() ;   
           }   
    }  

    좋은 웹페이지 즐겨찾기