JSP 조회수 카운트

Jiyeong·2021년 5월 9일
0

JSP

목록 보기
7/13

현민이가 알려줌 ->

readcount가 0이니 update문을 적어서 1씩 증가하면 될것이다.
	(hint : db에서 컬럼명에 +1하는게 가능함
	hint2 : 자바에서 1~10까지 더해 값을 저장하는 sum변수를 생각해보자)
		당연히 클릭하는 글에 조회수가 올라가야하니 where절이 들어갈것이다.
  1. 쿼리문을 작성하다보면 외부에서 해당 글인 iboard가 필요한걸 느껴서 인자값에 iboard를 적었을것이다.
    그리고 쿼리문 다 작성 후 리턴값을 int로 적을 수 있었을 것이고, void를 적었을 수도 있을것이다.

  2. 이제 이 readCountUp메소드를 호출할건데 어디서 호출할지 생각해보자
    (생각하고 스크롤 내리세요)

조회수가 올라가야하는 구조 파악을 해야한다.
	게시글을 선택하여 디테일 페이지로 갈때 조회수가 올라가야한다.
		다 알려 줬다 떠먹기만 하면된다.
  1. 이제 글을 클릭할때 마다 데이터베이스에 select문을 쳐보면
    조회수가 1씩 증가하는 것을 볼 수 있을것이다.

  2. list페이지에서 조회수가 보이려면 readCount 컬럼이 추가됬으니
    dao의 getAllBoard()메소드에서 약간의 코드 추가만 해주면 되겠죠?
    직접해보세요

나는 db에서 컬럼명+1 해도되는 걸 깜빡하고 있어서 힘든 방식으로 countUp시켰다.

위 방식으로 한 사람들은 이런 방식으로도 할 수 있었구나를 생각하면 좋을거 같다...

public void readCountUp(int no) {
int count=0;

getCon();
try {
	String getReadCountSql = "select readcount from board where no = ?";
	pstmt=con.prepareStatement(getReadCountSql);
	pstmt.setInt(1, no);
	rs=pstmt.executeQuery();
	if(rs.next()) {
		count = rs.getInt(1);
		count++;
	}  
		
	String sql = "update board set readcount = ? where no = ?";
	pstmt=con.prepareStatement(sql);
	pstmt.setInt(1, count);
	pstmt.setInt(2, no);
	pstmt.executeUpdate();
	con.close();
} catch (Exception e) {
	e.printStackTrace();
}

}

=======================================================================

기능 구현을 하긴 했는데 잘 이해안되는 부분 있으면 저한테 질문해주시면 친절하게 답변해드립니다

이제 조회수기능까지 구현했으니
게시글에 댓글 기능까지 혼자 구현해보세요
숙제입니다.

먼저 조금 힌트를 드리면
(reple table을 하나 만드는데 어떤 컬럼과 옵션은 뭘 줄지 생각하고
board테이블을 참조하는 fk키를 줘야한다)

  • 완성하셨다면 댓글을 달고 그 게시물을 삭제해보세요 (에러뜬다면 이유 파악하고 해결하셔야 합니다.)

profile
깃스타가 되고 싶은 벨플루언서

0개의 댓글