jdbc 정리 및 MVC 예습

JuHyung Yoon·2023년 6월 16일
0

SQL 및 ORACLE

목록 보기
3/3

JDBC란?

JDBC는 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API이다.

API : application programming interface

oracle 데이터베이스 url,id,password의 값을 필드로 가져와 DriverManager 클래스에 매개변수 값으로 준다 이때, connection 클래스의 getconnection을 통해 연결을 하게된다.

Connection conn = DriverManager.getConnection(url,user,password);

기본 sql문의 삽입은 try문 안에 String sql = 식으로 값을 사용할 수 있다.
jdbc에서

짤막한 클래스의 의미 설명

PreparedStatement ps = connection.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
		//Statement : db와 연결되어있는 connection 객체를 통해 sql문을 db에 전달하여 실행하고
		//	ㄴ 결과를 리턴받아주는 객체, 
		//prepared : SQL 이 미리 컴파일되어 준비된
		//ResultSet : SELECT문의 결과를 저장하는 객체
		//executeQuery : 받아온 쿼리문을 실행, SQL문을 실행한 다음 레코드셋을 반환하는 경우

String sql ="insert into TBL_STUDENT values (?,?,?,?)"; sql문의 값을 사용자가 직접 입력하고 싶을때 아무런 기호 없이 ? 를 쓰면된다 후에
PreparedStatement pstmt = conn.prepareStatement(sql);
받아온 sql문의 데이터의 결과를 리턴받아주는 객체에 set'타입'으로 sql문 테이블 values값에 인덱스 별로 값을 할당해주면 된다 인덱스는 1부터 시작한다.

dto,dao

dto = 데이터 전송 객체
dao = dto의 데이터를 사용해 main 클래스에서 사용될 메서드를 만듬

기본적인 dao 메서드 만드는법

public 타입 메서드명 (타입``매개변수) throws sqlexception{ //예외처리
Connection connection = OracleUtility.getConnection(); //만들어둔 jdbc파일에 연결해서 데이터베이스에 접근
String sql ="sql문"; //sql문 조회

PreparedStatement ps = connection.prepareStatement(sql); sql문을 사용할 수 있도록 컴파일 객체인 preparedStatement에 담아줌
객체에 저장된 sql문의 setString(index,매개변수)를 넣어서 해당 행을 알려준다
ResultSet rs = ps.executeQuery(); //ps.sql수행메소드로 실행
JCustomer result = null;
if(rs.next()) {
result = new JCustomer(rs.getString(1),
...
}
ps.close();
connection.close(); //메모리 누수 방지
return result;

메소드의 커밋과 롤백

사용한 메소드가 실행 도중 취소해야할 일이 생겼을때
try{
connection.setAutocommit(false); DB에 보내는 데이터의 자동 커밋제한을 둔다
for반복문{
}
connection.commit //반복문을 실행하고자 할때 수동 커밋을한다.
}catch(sqlException e){ 첫번재 try문 안에 반복문을 취소 하며 데이터를 롤백시킨다.
}
try{
connection.rollback
}

profile
ㅋㅎ딩초보

0개의 댓글