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