JDBC 프로 그래 밍 의 상세 한 절차

머리말
JDBC,즉 자바 Database Connectivity,자바 데이터베이스 연결.SQL 문 구 를 실행 하 는 자바 API 로 자바 의 데이터베이스 연결 규범 입 니 다.이 API 는 자바.sql.,자바 x.sql.패키지 의 일부 클래스 와 인터페이스 로 구성 되 어 있 으 며,자바 개발 자 들 이 데이터 베 이 스 를 조작 하 는 데 표준 API 를 제공 하여 다양한 관계 데이터 베 이 스 를 통일 적 으로 접근 할 수 있 습 니 다.
JDBC 액세스 데이터베이스 계층 구조:
在这里插入图片描述
1.데이터베이스 연결 연결 만 들 기
하 나 는 DriverManager(구동 관리 클래스)의 정적 방법 으로 가 져 옵 니 다.

//   JDBC    
Class.forName("com.mysql.jdbc.Driver");
//        
Connection connection = DriverManager.getConnection(url);
두 번 째 는 DataSource(데이터 원본)대상 을 통 해 얻 는 것 이다.실제 응용 프로그램 에서 DataSource 대상 을 사용 합 니 다.

DataSource ds = new MysqlDataSource();
((MysqlDataSource) ds).setUrl("jdbc:mysql://localhost:3306/test");
((MysqlDataSource) ds).setUser("root");
((MysqlDataSource) ds).setPassword("root");
Connection connection = ds.getConnection();
둘 의 차 이 는:
1.DriverManager 클래스 에서 가 져 온 Connection 연결 은 중복 적 으로 사용 할 수 없습니다.매번 사용 한 후에 자원 을 방출 합 니 다.
연결.close()를 통 해 물리 적 연결 을 닫 습 니 다.
2.DataSource 는 연결 풀 을 지원 합 니 다.연결 탱크 는 초기 화 할 때 일정 수량의 데이터베이스 연결 을 만 듭 니 다.이 연결 들 은
재 활용 이 가능 합 니 다.데이터베이스 연결 을 사용 할 때마다 자원 호출 connection.close()는 Conncetion 연결 대상 을 회수 합 니 다.
2.작업 명령 대상 생 성
Statement 대상 은 주로 SQL 문 구 를 데이터베이스 에 보 냅 니 다.JDBC API 에 서 는 주로 세 가지 Statement 대상 을 제공한다.
在这里插入图片描述

String sql = "select * from user where username=? and password=? ";
        PreparedStatement ps = c.prepareStatement(sql);
3.SQL 을 실행 하고 자리 표시 자 를 바 꾼 다음 실행
주로 SQL 을 실행 하 는 두 가지 방법 을 파악 합 니 다.
executeQuery()방법 을 실행 한 후 단일 결과 집합 을 되 돌려 줍 니 다.보통 selection 문 구 를 사용 합 니 다.
execute Update()방법 반환 값 은 하나의 정수 로 영향 을 받 는 줄 수 를 표시 합 니 다.보통 update,insert,delete 문 구 를 표시 합 니 다.

 ps.setString(1,input.getUsername());
        ps.setString(2,input.getPassword());
        ResultSet rs = ps.executeQuery();
4.조회 작업 이 라면 처리 결과 집합
Resultset 대상 은 결과 집합 이 라 고 불 립 니 다.SQL 구문 조건 에 맞 는 모든 줄 을 대표 하고 getXXX 방법 을 통 해 이 줄 의 데이터 에 대한 접근 을 제공 합 니 다.
Resultset 에 있 는 데 이 터 는 한 줄 한 줄 배열 되 어 있 습 니 다.줄 마다 여러 필드 가 있 고 기록 포인터 가 있 습 니 다.포인터 가 가리 키 는 데이터 줄 은 현재 데이터 줄 이 라 고 합 니 다.우 리 는 현재 데이터 줄 만 조작 할 수 있 습 니 다.우리 가 어떤 기록 을 얻 으 려 면 ResultSet 의 next()방법 을 사용 해 야 합 니 다.ResultSet 의 모든 기록 을 얻 으 려 면 while 순환 을 사용 해 야 합 니 다.

   User query = null;
        while(rs.next()){//      ,      true
            query = new User();
            query.setId(rs.getInt("id"));
            query.setUsername(input.getUsername());
            query.setPassword(input.getPassword());
            query.setNickname(rs.getString("nickname"));
            query.setSex(rs.getBoolean("sex"));
            Timestamp t = rs.getTimestamp("birthday");
            if(t!=null){
                query.setBirthday(new java.util.Date(t.getTime()));

            }
            query.setHead(rs.getString("head"));
        }
5.자원 반환 대상 방출

 DBUtil.close(c, ps, rs);
        return query;
JDBC 프로 그래 밍 의 상세 한 절차 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 JDBC 프로 그래 밍 과 관련 된 절차 내용 은 예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기