[Spring JPA] 5. 게시판 글등록하기

[Spring JPA] 5. 게시판 글등록하기

728x90

반응형

Board.java

package jpa.board.entity; import lombok.Getter; import lombok.Setter; import org.hibernate.annotations.CreationTimestamp; import org.hibernate.annotations.UpdateTimestamp; import javax.persistence.*; import java.sql.Timestamp; import java.util.Date; @Entity @Getter @Setter public class Board { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long boardIdx; @Column(columnDefinition = "varchar(45) not null comment '타이틀'") private String boardTitle; @Column(columnDefinition = "TEXT not null comment '내용'") private String boardContent; @Column(columnDefinition = "varchar(45) not null comment '등록자'") private String regId; private String useYn; //insert시에 현재시간을 읽어서 저장 @CreationTimestamp private Timestamp regDate; //update시에 현재시간을 읽여서 저장 @UpdateTimestamp private Timestamp uptDate; }

BoardRepository.java

package jpa.board.repository; import jpa.board.entity.Board; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; @Repository public interface BoardRepository extends JpaRepository { }

BoardController.java

package jpa.board.controller; import jpa.board.entity.Board; import jpa.board.repository.BoardRepository; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpSession; import java.util.Map; @Controller @Slf4j public class BoardController { @Autowired BoardRepository boardRepository; @GetMapping("/") public String list(HttpSession session, Model model){ return "main/list"; } @GetMapping("/board/write") public String write(){ return "main/write"; } //게시판 저장 @ResponseBody @PostMapping("/board/write") public Board writeSubmit(@RequestBody Board board){ log.info("params={}", board); boardRepository.save(board); return board; }; @GetMapping("/board/update") public String update(){ return "main/update"; } }

write.html

게시판 글쓰기 제목 작성자 내용 저장 목록 //게시판 등록 function writeSubmit(){ //step2. 게시판 등록 var params = { boardTitle : $.trim($("#boardTitle").val()) ,boardContent : $.trim($("#boardContent").val()) ,regId : $("#loginId").val() ,useYn : 'Y' } console.log(params); if(params.boardTitle == ""){ alert("제목을 입력해주세요."); return false; } else if(params.boardContent == ""){ alert("내용을 입력해주세요."); return false; } $.ajax({ type : 'POST' ,url : "/board/write" ,dataType : 'json' ,data : JSON.stringify(params) ,contentType: 'application/json' ,success : function(result) { alert("해당글이 정상적으로 등록되었습니다."); location.href="/"; }, error: function(request, status, error) { } }) }

728x90

반응형

from http://aamoos.tistory.com/434 by ccl(A) rewrite - 2021-09-22 19:27:35