티스토리 뷰

Spring

SPRING 저장 기능 순서 흐름

piern 2018. 12. 14. 03:10

*  입력


1. VO작성 : 테이블의 구조를 객체화


2. BoardDAO.java : 인터페이스

public void create(BoardVO vo) throws Exception;


3. mapper

<insert id="create">

INSERT INTO tbl_board (title, content, writer)

values(#{title},#{content}, #{writer})

</insert>


4. BoardDAOImpl.java :  SqlsessionTemplate을 이용해서 원하는 코드 호출

@Inject

  private SqlSession session;


  private static String namespace = "org.zerock.mapper.BoardMapper";


@Override

  public void create(BoardVO vo) throws Exception {

    session.insert(namespace + ".create", vo);

  }


* 비스니스 계층 : 컨트롤러와 DAO 사이의 접착제 역할

비즈니스 계층의 구현은 로직에 필요한 데이터베이스 관련 객체들을 모아서 자신이 원하는 일을 처리하는 용도.


5. BoardService.java : 인터페이스

public void regist(BoardVO board) throws Exception;


6. BoardServiceImpl.java

@Inject

  private BoardDAO dao;


@Override

  public void regist(BoardVO board) throws Exception {

    dao.create(board);

  }


7. BoardController.java

private static final Logger logger = LoggerFactory.getLogger(BoardController.class);


  @Inject

  private BoardService service;


  @RequestMapping(value = "/register", method = RequestMethod.GET)

  public void registerGET(BoardVO board, Model model) throws Exception {


    logger.info("register get ...........");

  }


 @RequestMapping(value = "/register", method = RequestMethod.POST)

  public String registPOST(BoardVO board, RedirectAttributes rttr) throws Exception {


    logger.info("regist post ...........");

    logger.info(board.toString());


    service.regist(board);


    rttr.addFlashAttribute("msg", "success");

    return "redirect:/board/listAll";

  }


8. register.jsp : <form>의 method 속성이 'post'로 지정된 것과 action이 지정되지 않았는데 이것은 form의 action 속성이 지정되지 않으면 현재 경로를 그대로 action의 대상 경로로 잡는다


<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>


<%@include file="../include/header.jsp"%>


<!-- Main content -->

<section class="content">

<div class="row">

<!-- left column -->

<div class="col-md-12">

<!-- general form elements -->

<div class="box box-primary">

<div class="box-header">

<h3 class="box-title">REGISTER BOARD</h3>

</div>

<!-- /.box-header -->


<form role="form" method="post">

<div class="box-body">

<div class="form-group">

<label for="exampleInputEmail1">Title</label> <input type="text"

name='title' class="form-control" placeholder="Enter Title">

</div>

<div class="form-group">

<label for="exampleInputPassword1">Content</label>

<textarea class="form-control" name="content" rows="3"

placeholder="Enter ..."></textarea>

</div>

<div class="form-group">

<label for="exampleInputEmail1">Writer</label> <input type="text"

name="writer" class="form-control" placeholder="Enter Writer">

</div>

</div>

<!-- /.box-body -->


<div class="box-footer">

<button type="submit" class="btn btn-primary">Submit</button>

</div>

</form>



</div>

<!-- /.box -->

</div>

<!--/.col (left) -->


</div>

<!-- /.row -->

</section>

<!-- /.content -->

</div>

<!-- /.content-wrapper -->


<%@include file="../include/footer.jsp"%>



'Spring' 카테고리의 다른 글

SPRING 조회 기능 순서 흐름  (0) 2018.12.14
SPRING 리스트 기능 순서 흐름  (0) 2018.12.14
Mybatis 에러  (0) 2018.04.11
mybatis selectKey  (0) 2018.03.26
코드로 배우는 웹 스프링 프로젝트 mysql->oracle  (0) 2018.01.30
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함