새 워크스페이스 만들기
: Switch Workspace-Other → 새 Workspace 경로 지정(나의 경우 spring_lab -> spring_project_lab으로 변경)
Preference에서 enc 검색 후 Workspace와 Web 모두 UTF-8로 맞춰주기
Setting된 project 다운로드
https://github.com/mb6282/blog
에서 마스터 브랜치 (세팅) 다운로드
header에 link(css)와 js(script)가 있어야 적용된다.
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet"> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
- 💡 회원가입, 로그인 등 인증에 필요한 주소는 주소에 Entity(table 명)을 붙이지 않는 경우가 많다. → UserController의 Mapping 주소에 Entity명이 붙지 않았다.
<br>
> **@Controller 어노테이션이라도 파일 대신 data 값을 출력할 수 있는 방법** : **메서드 타입 앞에 @ResponseBody 붙이기**
```java
package site.metacoding.red.web;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.ResponseBody;
import lombok.RequiredArgsConstructor;
import site.metacoding.red.domain.users.Users;
import site.metacoding.red.domain.users.UsersDao;
@RequiredArgsConstructor
@Controller
public class IndexUsersController {
private final UsersDao usersDao;
@GetMapping("test/users/{id}")
public @ResponseBody Users getUsers(@PathVariable Integer id) {
return usersDao.findById(id);
}
}
create table users(
id number primary key,
username varchar2(20),
password varchar2(20),
email varchar2(50),
createdAt TIMESTAMP
);
CREATE SEQUENCE users_seq
INCREMENT BY 1
START WITH 1;
create table boards(
id number primary key,
title varchar2(150),
content clob,
usersId number,
createdAt TIMESTAMP,
CONSTRAINT fk_users_id foreign key(usersId) references users (id)
);
CREATE SEQUENCE boards_seq
INCREMENT BY 1
START WITH 1;