💡 핵심 요약 (TL;DR)
JDBC활용 - DB에서 고객정보를 불러와서 HTML테이블에 담기의 동작 원리를 이해하고 실제 프로젝트에 적용하기 위한 실무 가이드다.
1. JDBC활용 - import쓰는 이유, form페이지로 받은 데이터를 DB에 insert하는 방법을 적용할 수 있다.
ITWILL학원 : 20강 JSP기초 BY 정규태강사 JDBC
JDBC활용 - import쓰는 이유, form페이지로 받은 데이터를 DB에 insert하는 방법
JDBC활용 - JAVA에서 DB 정보 지우기 2가지방법
JDBC활용 - DB에서 고객정보를 불러와서 HTML테이블에 담기
JDBC활용 - TIMESTAMP주의점, JDBC에서 데이터처리
JDBC활용 - 회원정보수정페이지만들기
JDBC활용 - 회원목록출력하는데 관리자는 빼고 출력하기, 자바 에러 두종류
DB저장되어있는 모든 회원정보를 출력하는 코드를 작성해보자.
1. recordset과 resultset
recordset = select 구문의 결과. BOF부터 EOF(End Of File)까지의 총 덩어리를 의미.
resultset = 테이블을 의미. ex)테이블A, 테이블B, 테이블C 각각이 다 resultset이다.
2. DB에서 고객정보를 불러와서 테이블에 담기. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 <table border ="1" > <tr > <td > 인덱스</td > <td > 이름</td > <td > 성별</td > <td > 나이</td > <td > 주민번호</td > </tr > <%//1.변수설정 %> <% //2. 드라이버 로드와 DB연결 final String DRIVER = "com.mysql.jdbc.Driver"; final String DBURL = "jdbc:mysql://localhost:3306/jspdb"; final String DBID = "root"; final String DBPW = "1234"; Class.forName(DRIVER); Connection con = DriverManager.getConnection(DBURL, DBID, DBPW); //3.쿼리작성 String sql = "select * from itwill_member"; PreparedStatement pstmt = con.prepareStatement(sql); ResultSet rs = pstmt.executeQuery(); //3-1.일반출력 /* while(rs.next()){ System.out.println("이름 : " + rs.getString("name") //이름만 출력 + ", 성별 : " + rs.getString("gender") + ", 나이 : " + rs.getInt("age") + ", 주민번호 : " + rs.getString("jumin")); //이름, 나이, 성별, 주민번호 -> 콘솔로 출력하기 -> html 테이블생성해서 출력하기 }*/
2-1. 테이블에 출력 가져온 데이터를 테이블형태로 출력해보는데 2가지 방법이 있다.
변수지정없이 바로 while반복문실행 SQL구문작성시 select * from itwill_member이라서 while반복문을 사용했다. 만약 SQL구문이 select * from itwill_member where id=?로 where조건절을 추가하면 반복문이 아닌 if문으로 사용가능하다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 //3.쿼리작성 String sql = "select * from itwill_member"; PreparedStatement pstmt = con.prepareStatement(sql); ResultSet rs = pstmt.executeQuery(); while(rs.next()){ %> <tr > <td > <%=rs.getString(1) %></td > //인덱스 <td > <%=rs.getString("name") %></td > <td > <%=rs.getString("gender") %></td > <td > <%=rs.getInt("age") %></td > <td > <%=rs.getString("jumin") %></td > </tr > <% } %> </table >
변수에 저장해서 반복문없이 table에 바로 태그집어넣기 rs에서 가져온 값을 변수로 저장해서 html table태그에 바로 표현식으로 집어넣을 수 있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 //3.쿼리작성 String sql = "select * from itwill_member where id=?"; PreparedStatement pstmt = con.prepareStatement(sql); pstmt.setString(1, id); ResultSet rs = pstmt.executeQuery(); String name = ""; int age = 0; String gender = ""; String email = ""; Timestamp reg_date = null; //null이 초기값임 if(rs.next()){ //id=rs.getString("id"); 세션으로 가져와서 필요없음 name = rs.getString("name"); age = rs.getInt("age"); gender = rs.getString("gender"); email = rs.getString("email"); reg_date = rs.getTimestamp("reg_date"); } %> <table border =1 > <tr > <td > 아이디</td > <td > 이름</td > <td > 나이</td > <td > 성별</td > <td > 이메일</td > <td > 가입일자</td > </tr > <tr > <td > <%=id %></td > <td > <%=name %></td > <td > <%=age %></td > <td > <%=gender %></td > <td > <%=email %></td > <td > <%=reg_date %></td > </tr > </table >
#TIL ITWILL(JAVA)