데이터베이스 jspdb5 테이블에서 member, age, gender, email 열 추가하기
<cmd 창 열고 >
alter table member
add age int;
alter table member
add gender varchar(5);
alter table member
add email varchar(30);
desc member;
게시판 테이블 필요한 항목 ==> cmd 창에서 하기
제목, 내용, 글쓴이, 날짜, 비밀번호, 조회수
create table board(
num int primary key,
name varchar(20),
pass varchar(20),
subject varchar(20),
content varchar(20),
readcount int,
date datetime
);
(1) 먼저 writeForm jsp 파일을 만들고
한글 처리
name, pass, subject, content 파라미터 가져오기
int readcount=0, Timestamp date=현 시스템 날짜
1단계_드라이버 불러오기
2단계_데이터베이스 연결
★ num 게시판 글번호 구하기
3단계_게시판 글 번호 구하기
4단계_실행
새로 writePro 파일을 하나 만들자
한글 처리
request.setCharacterEncoding(“utf-8”);
name, pass, subject, content 파라미터 가져오기
String name=requeset.getParameter(“name”);
String pass=requeset.getParameter(“pass”);
String subject=requeset.getParameter(“subject”);
String content=requeset.getParameter(“content”);
int readcount=0, Timestamp date=현 시스템 날짜
int readcount=0;
Timestamp reg_date=new Timestamp(System.currentTimeMillis());
1단계_드라이버 불러오기
Class.forName("com.mysql.jdbc.Driver");
2단계_데이터베이스 연결
String dbUrl="jdbc:mysql://localhost:3306/jspdb5";
String dbUser="jspid";
String dbPass="jsppass";
Connection con=DriverManager.getConnection(dbUrl, dbUser, dbPass);
3단계_게시판 글 번호 구하기
★ num 게시판 글번호 구하기
게시판 글번호 중에 가장 큰 번호를 구해와서 +1
select * from board; => Empty (0.01 sec)
select * from board; => Empty (0.01 sec)
select max(num) from board;
int num=0;
String sql="select max(num) from board";
PreparedStatement pstmt=con.prepareStatement(sql);
ResultSet rs=pstmt.executeQuery();
if(rs.next()){
num=rs.getInt("max(num)")+1;
String sql="insert into board(num, name, pass, subject, content, readcount, date) values(?,?,?,?,?,?,?)";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setInt(1, num);
pstmt.setString(2, name);
pstmt.setString(3, pass);
pstmt.setString(4, subject);
pstmt.setString(5, content);
pstmt.setInt(6, readcount);
pstmt.setTimestamp(7, reg_date);
4단계_실행
pstmt.executeUpdate();
글 목록을 만들기 위해 다시 listPro.jsp 파일을 만든다
<%
Class.forName("com.mysql.jdbc.Driver");
String dbUrl="jdbc:mysql://localhost:3306/jspdb5";
String dbUser="jspid";
String dbpass="jsppass";
Connection con=DriverManager.getConnection(dbUrl, dbUser, dbpass);
String sql="select * from board";
PreparedStatement pstmt=con.prepareStatement(sql);
ResultSet rs=pstmt.executeQuery();
%>
<h1>jsp5/list.jsp</h1>
<table border="1">
<tr><td> 글 번호 </td><td> 제목 </td><td> 작성자 </td><td> 날짜 </td> <td> 조회수 </td></tr>
<%
while(rs.next()){
%>
<tr><td><%=rs.getInt("num")%> </td>
<td><%=rs.getString("subject")%></td>
<td><%=rs.getString("name")%> </td>
<td><%=rs.getTimestamp("date")%> </td>
<td><%=rs.getInt("readcount")%> </td></tr><%
}
%>
int num=num 파라미터 가져오기
1단계_드라이버 불러오기
2단계_데이터베이스 연결
3단계_조회 수 +1 증가 update readcount=readcount+1 조건
4단계_ sql “select where num=?”
5단계_ rs=실행 결과 저장
6단계_ rs=다음 해 이동
<%
Class.forName("com.mysql.jdbc.Driver");
String dbUrl="jdbc:mysql://localhost:3306/jspdb5";
String dbUser="jspid";
String dbpass="jsppass";
Connection con=DriverManager.getConnection(dbUrl, dbUser, dbpass);
String sql="select * from board order by num desc" ;
PreparedStatement pstmt=con.prepareStatement(sql);
ResultSet rs=pstmt.executeQuery();
%>
<h1> jsp5/list.jsp </h1>
<table border="1">
<tr><td> 글 번호 </td><td> 제목 </td><td> 작성자 </td><td> 날짜 </td> <td> 조회수 </td></tr>
<%
while(rs.next()){
%>
<tr><td><%=rs.getInt("num")%> </td>
<td><a href="content.jsp? num=<%=rs.getInt("num")%>"><%=rs.getString("subject")%></a></td>
<td><%=rs.getString("name")%> </td>
<td><%=rs.getTimestamp("date")%> </td>
<td><%=rs.getInt("readcount")%> </td></tr><%
}
%>
ㅣ읽느라 수고 많으셨어요~ㅣ
부족한 글을 읽어주셔서 감사드립니다
아직 부족한 게 많으니
틀린 곳이 있다면
조언의 말씀 꼭 부탁드립니다!!!!
[jsp] 자바빈 /DTO/ DB연동_ 테스트 (0) | 2020.08.10 |
---|---|
[JSP] 자바빈(JavaBean)?/ 자바빈 사용이유/ 자바DTO(Data Transfer Object) (0) | 2020.07.31 |
jsp_애플리케이션 application 내장객체, 세션 (0) | 2020.07.16 |
JSP에서 DB과 연동해서delete /update/ select/ insert 작업을 어떻게 하는 걸까? (0) | 2020.07.14 |
JSP_로그인(longin)_수정, 삭제, 조회. 리스트, 메인 (0) | 2020.07.09 |