데브코스

✅ Comment 테이블 설계CREATE TABLE comment ( id BIGINT PRIMARY KEY AUTO_INCREMENT, parent_id BIGINT, -- 부모 댓글에 대한 외래키를 추가하려면 여기에 설정해야 합니다. recipe_id BIGINT, writer_id BIGINT, content VARCHAR(300), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (parent_id) REFERENCES comment(id) ON DELETE CASCADE ON UPDATE CASCADE, -- 부모 댓글 설정 FOREIGN KEY (recipe_id) REFERENCES rec..
✅ Pagination(페이지네이션)이란?💡 웹페이지에 표시되는 내용이 많아 한 페이지에 모든 내용을 다 표시하지 않고 여러 페이지로 나누어서 보여주는 방식을 말한다. Pagination의 필요성글이 많아지다 보니 한번의 글 조회 요청에 많은 데이터를 불러오게 된다.이렇게 되면 사용자에게도 너무 많은 스크롤을 요구하게 돼 좋지 않고서버 입장에서도 한번의 요청에 처리해야하는 데이터가 많아지게 되면 부하가 일어나게 된다. 그렇기 때문에 여러 항목을 보여줘야 하는 기능을 구현할 때는 반드시 Pagination을 사용해야한다. ✅ 게시판에 Pagination 기능 구현 방식1️⃣ 사용자가 원하는 페이지의 글들을 어떻게 불러올까?가장 먼저 데이터베이스에서 어떻게 데이터를 불러와야할지 생각을 해야한다.MySQL은..
이전까지는 웹쪽을 중점으로 리팩토링을 해왔다.이번에는 데이터베이스 접근 관련해서 리팩토링을 진행해보도록하겠다.✅ 기존 구조에서의 데이터 베이스 접근 방식의 단점(순수 JDBC)현재 구조에서는 순수한 JDBC를 사용해서 MySQL에 접근했다.그러다보니 여러 가지 불편한 점이 있었다. 1️⃣ SQL 쿼리 작성의 어려움우선 순수 JDBC의 경우 String을 통해 쿼리를 작성해야 했다.@Override public int update(Board board) { int result = 0; try { String sql = "UPDATE board SET "; if(board.getTitle()!=null && board.getTitle().length()>0){ ..
✅ Spring MVC기존 구조나는 중간에서 모든 걸 처리해주는 FrontController, 적절한 컨트롤러를 찾아주는 ControllerMapper, 정확한 뷰의 경로로 변환시켜주는 ViewResolver를 모두 내가 직접 작성했다. 이 구조는 분명 좋은 구조이긴 했지만 일일이 개발자가 직접 구현해야 한다는 부분이 번거로웠다.스프링은 이러한 부분을 모두 자동으로 처리해준다.Spring MVC의 구조기본적인 구조는 거의 동일한 것을 알 수 있다. 하지만 Spring MVC는 개발자에게 있어 상당한 편리함을 제공해준다. 자동화FrontController - DispatcherServletHandlerMapping - ControllerMapperViewResolver - ViewResolver라고 보면 ..
jaehee1113
'데브코스' 카테고리의 글 목록 (8 Page)