1. Jsp-Java에서 JDBC 사용하기
1-1. JDBC(Java data base connectivity) 프로그램 순서 7단계
01단계 : 드라이버 로딩(mysql 드라이버 로딩)
02단계 : Connection객체로 DB연결
1)dbms종류(mysql) 2)ip 3)port번호 4)db접속id 5)db접속비번 6)db명(sid,service name)
위의 6가지가 일치해야 연결가능
03단계 : (insert,update,delete,select) Query실행을 위한 준비
( statement 또는 PreparedStatement객체생성)
04단계 : (insert,update,delete,select) Query실행
05단계 : Query실행결과 사용
(insert,update,delete의 경우 생략 가능단계)
06단계 : statement 또는 PreparedStatement객체 종료(close())
07단계 : DB연결(Connection 객체) 종료(close())
********* 호출순서 *********
1번. DriverManager클래스의 주소값을 찾아가서 getConnection 메서드를 호출한다.
2번. JDBC4Connection 클래스를 통해 생성된 객체의 주소값을 리턴한다.
3번. 리턴된 주소값을 getConnection 메서드에 할당한다.
4번. getConnection 메서드에 대입된 주소값을 conn객체참조변수에 대입한다.
5번. conn객체참조변수의 주소값을 찾아가서 prepareStatement 메서드를 호출한다.
6번. conn에 대입된 주소값인 JDBC4onnection 클래스를 찾아가서 JDBC4Connection 클래스를 통해 JDBC4preparedStatement 클래스를 생성한다.
7번. JDBC4PreparedStatement 클래스의 주소값을 prepareStatement에 리턴하고, 모자란 INSERT쿼리 값인 (String arg0) 값을 생성한다.
8번. 리턴된 주소값을 pstmt 객체참조변수에 할당한다.
9번. pstmt.을 통해서 setString 메서드를 호출한다
10번. pstmt.setString(1, m_id)에 사용자가 입력한 값을 받아서 실행하고, pstmt의 INSERT 쿼리 문장의VALUE값에 대입한다.
2. DBMS와 연결하기

2-1. 신규 세션에 table 등록


2-2. 새로운 프로젝트/폴더/파일 생성

2-3. 폼작성

2-4. 동작화면 작성


2-5. 실행결과확인



*** 리스트 출력(select) 실습
1) 새로운 폴더 및 파일 생성

2) 파일 작성(기존의 20_01폴더의 war파일 참고하여 작성)



3) 결과 확인



*********참고사항*********
실습 작성파일중 주석처리했던 System.out.println(rs.next() + "---"); 부분은 리스트에 값이 존재하는지 확인하는 구문으로, 값이 존재한다면 true, 값이 존재하지 않으면 false가 출력된다.
▼ 현재 리스트에 값이 총 4열이 존재하기 때문에 1~4번째까지는 true, 5번째부터 false 발생


** rs.next() 구문 사용 이후 while(rs.next()) 구문 사용시 이전에 사용한 rs.next() 구문 개수만큼 리스트가 출력되지 않는다. (이미 rs.next()구문으로 리스트 값을 읽어서 다음으로 넘겼기 때문)**
ex1) 1개의 rs.next() 구문을 사용 후 while(rs.next()) 구문 사용

▼ rs.next() 구문 사용으로 리스트 첫번째 줄을 읽어 다음으로 넘겼기 때문에 1번 리스트 출력X

ex2) 3개의 rs.next() 구문을 사용 후 while(rs.next()) 구문 사용

▼ rs.next() 구문 사용으로 리스트 첫번째~세번째 줄을 읽어 다음으로 넘겼기 때문에 1~3번 리스트 출력X

'JAVA' 카테고리의 다른 글
데이터 암호화(SHA256) (0) | 2023.05.16 |
---|---|
el, jstl (0) | 2023.05.15 |
Java-Jsp Driver로딩 및 DTO Bean (0) | 2023.05.15 |
매서드(method), 상속, final (0) | 2023.04.17 |
개발환경 구축 (0) | 2023.04.17 |