Java
Spring boot
Intellij community version
MariaDB
Thymeleaf
+JPA
코드를 작성할 Intellij community version
데이터를 저장할 MariaDB
페이지를 담당할 뷰템플릿 - Thymeleaf
DB에 접근할 JPA
오라클이 있는데 MariaDB를 사용하는 이유
원래 MySQL이 무료였는데 오라클이 인수하면서 유료로 바뀌었습니다. 그 때 MySQL 개발자들이 만든 게 MariaDB입니다! 그래서 MySQL이랑 거의 똑같이 동작하고 무료라서 많이 사용합니다. 데이터베이스 오라클로 바꾸면 자동 증가 전략을 시퀀스로 설정해야 되는데 이 부분 외에는 JPA가 자동으로 잡아주기 때문에 따로 변경할 필요 없어요! 시퀀스 설정만 잡아주시면 될 것 같습니다!
어떤 글이 작성되어있는지 페이지가 필요하기때문에 리스트 페이지를 만든다.
https://developer-rooney.tistory.com/153?category=496529
링크를 통해서 테스트 프로시저를 복사하고 워크벤처에 붙여넣는다.
게시글의 리스트를 보기위해 어느정도 글이 있어야하는데, 테스트 게시물이 많지않으면 개발함에 불편하기때문에 사용한다.
프로시저가 생성됐다.
call testDataInsert;
를 작성하고 ctrl+enter를 통해서 실행시키고, board테이블을 들어가서
왼편에 표모양을 누르면 데이터가 120개 정도 들어간 것을 확인할 수 있다.
@GetMapping("/board/list")
public String boardList(){
return "boardlist";
}
이제 컨트롤러에서 getmapping을 하나 만들어주고, 이때 boardlist라는 화면이 없기때문에 만들어준다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>게시글 리스트 페이지</title>
</head>
<style>
.layout{
width:500px;
margin:0 auto;
margin-top: 40px;
}
</style>
<body>
<div class="layout">
<table>
<thead>
<tr>
<th>글번호
</th>
<th>제목
<th>
</tr>
</thead>
<tbody>
<tr>
<td>
1
</td>
<td>
제목입니다.
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
화면을 만들고 서버를 실행시키면
를 확인할 수 있다.
이제 글을 불러올 메서드가 필요하다.
서비스에서 처리해준다.
데이터를 담아서 우리가 보는 페이지로 보내줘야하기때문에 model을 쓴다.
@GetMapping("/board/list")
public String boardList(Model model){
model.addAttribute("list",boardService.boardList());
return "boardlist";
}
boardService.boardList()를 실행하면 리스트가 반환이 되는데 그 반환된 리스트를 "list" 이 리스트라는 이름으로 받아서 넘기겠다는 이야기이다.
이때 html파일에서 받아서 넘기는 부분이있는데 이때 쓰는것이 타임리프이다.
<html lang="en" xmlns:th="http://www.thymeleaf.org">
이렇게 수정할 수 있다.
each 반복문은 list에서 board가 없어질때까지(121번)실행된다.