기초_JDBC

miin·2021년 6월 10일
0

JAVA 

목록 보기
12/13

순서와 코드, 더 자세한 코드는 github 참고
1.사용 할DB종류 선택은 다른 사람에게 전화를 하려고 하는데 핸드폰이2개 일 경우 둘 중에 하나를 선택하여야 한다. 삼성핸드폰을 사용할 것인지 LG핸드폰을 사용할 것이지. 마찬가지로 어떤데이터베이스를 사용할 것인지에 따라 다른 문자열을 가진다.
2.원하는db연결 정보 객체 생성은 전화를 걸려면 전화할 곳의 정보를 주소록에서 찾아 해당 정보들을 얻어 와 세팅하고 send버튼 누르기 전까지의 작업을 마무리해야한다.
3.연결 정보 객체로 연결된 상태인 연결 객체를 얻어 오는 과정은 send버튼을 눌러서 상대방이 전화를 받으면 서로 대화 가능한 상태가 되어 지속적으로 대화를 나눌수 있는 상태를 만든 것이다.
4. 연결 객체를 통해서 원하는 데이터를 요청하고 결과 객체에 담는 경우는 send버튼을 눌러 통신상태가 되면 전화기로 연결된 상태를 이용해서 서로 번갈아 대화를 하여 원하는 정보를 주고 받는 것을 의미한다.
5. 받은 결과를 출력하는경우 본인이 원하는 데이터를 핸드폰 스피커를 통해서 알아볼수
있도록 결과를 보여주는 상태를 의미한다.
6.사용한 자원을 모두 반납하는 경우 전화 통화가 끝나면 종료 버튼을 눌러 통화가 끝났음을 알려주어야 비로소 통화가 종료되고 통화가 완전히 종료되면 핸드폰을 닫고 핸드폰을 원래 위치에 가져다 둔다

  1. 사용 할 DB종류 선택 (오라클 예)
    ojdbc6_g.jar 파일이 등록되지 않았거나 오타가 있으면 classNotFoundException예외가 발생하여 예외처리 해야함

Class.forName("oracle.jdbc.driver.OracleDriver");
Class.forName("com.mysql.jdbc.driver");
System.out.println("드라이브 로딩 완료"); //선택

  1. 원하는 db연결 정보 객체 생성(Connection)

String url = "jdbc:oracle:thin:@localhost(ip주소):1521(port):xe";
String user = "human";
String pw = "human";

con = DriverManager.getConnection(url,user,pw);
System.out.println("데이터베이스 접속성공"); //선택

  1. 연결 정보 객체로 연결된 상태인 연결 객체(Statement)를 얻어 온다

st = con.createStatement();

  1. 연결 객체를 통해서 원하는 데이터를 요청하고 결과객체(resultSet)에 담아 받는다
    매개변수로 sql문자열에 문제가 발생하면 SQLException 예외가 발생할 수 있어서 반드시 예외처리를 해야함(try/catch)

rs = st.executeQuery("select * from member"); // 데이터베이스에 있는 멤버 테이블

  1. 받은 결과를 출력한다.

while(rs.next()) {
rs.getInt("no"); //컬럼명 또는 인덱스 숫자를 매개변수로 사용
int no = rs.getInt(1);
String name = rs.getString(2);
double height = rs.getDouble(3);
Date birth3 = rs.getTimestamp(4);
System.out.println("no + :" + name + ":" + height + ":" + birth3);
}
6. 사용한 자원을 모두 반납한다
If(rs!=null) rs.close();
If(st!=null) st.close();
If(con!=null) con.close();

드라이브 추가
프로젝트명에서 오른쪽마우스-> properties -> java Build Path->libraries->add External JARs

dto(database transfer object):
데이터베이스의 테이블에 들어있는 하나의 row 데이터를 읽어와 java에서 사용할 때 사용하는 클래스
dao(database access object):
자바에서 데이터베이스를 조작하는데 필요한 작업들을 모아놓은 클래스를 의미
model1:
database dto && dao를 사용하여 구조화하여 만든 프로그램
model2: mvc패턴을 이용한 방법
mvc패턴:
프로그램을 구현할때 하나로 만들지 않고 나누어 개발하는 방식중 하나.
mvc를 명확히 구분하여 프로그램 하는것을 의미

사용자입력을 정수로 받는 메소드
public static int inputInt() {
System.out.println("정수입력");
return Integer.parseInt(sc.nextLine());

시간을 문자열로 받아사용
public static Date inpuDate() {
Date returnValue = null;
SimpleDateFormat transFormat = new SimpleDateFormat("yyyy-mm-dd HH:mm:ss");
System.out.println("날짜입력'yyyy-mm-dd HH:mm:ss'");
String inputDate = sc.nextLine();

0개의 댓글