참고
//글쓰기 메소드
public int write(String title, String userID, String content) {
String sql = "insert into board values(?, ?, ?, ?, ?, ?)";
try {
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, getNext());
pstmt.setString(2, title);
pstmt.setString(3, userID);
pstmt.setString(4, getDate());
pstmt.setString(5, content);
pstmt.setInt(6, 1); //글의 유효번호
return pstmt.executeUpdate();
}catch (Exception e) {
e.printStackTrace();
}
return -1; //데이터베이스 오류
}
@Repository
public class BoardDao {
private final String LIST_BOARDS = "select seq, title, left(regdate,16) regdate, id, writer, cnt from board order by seq desc limit ?, ?";
private final String SEARCH_BOARDS = "select seq, title, left(regdate,16) regdate, id, writer, cnt from board "
+ "where match(title) against(:keyword) or match(content) against(:keyword) order by seq desc limit :offset, :count";
/**
* 게시글 목록 조회
*
* @param page 페이지
* @param count 갯수
*/
public List<Board> listBoards(Search search) {
return jdbcTemplate.query(LIST_BOARDS, BOARD_ROW_MAPPER,
search.getOffset(), search.getCount());
}
}
@Getter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@Entity
public class Board {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id; // PK
private String title; // 제목
private String content; // 내용
private String writer; // 작성자
private int hits; // 조회 수
}
첫 강의를 듣고나서 많이 깨달은 점들이 있었다. 현재, 나는 JPA가 뭔지는 알지만 정확하게
어떻게 동작하는지를 파악을 못하였다. 그 점에 대한 반성을 하면서 이번 강의를 통해 어떻게
JPA가 동작하는지를 알고 상태관리등 많은것을 학습하고 내것으로 해야겠다는 다짐을 하게된
계기가 되었다.