- 새프로젝트 만들기
1. project name: library
2. base-package: com.icia.lib
- 3. 주요 동작 및 파일
1. Class
1. HomeController
1. 기본주소 요청에 대해 index.jsp 출력

2. BookController
1. 도서 등록, 조회, 목록 출력 등을 위한 메서드 있음

3. BookService
1. Controller로 부터 호출되며 로직 처리

4. BookDTO
1. 번호(id), 제목(bookName), 출판사(bookPublisher), 저자(bookAuthor), 정가(bookPrice)
정보를 담기 위한 필드 있음.

2. index.jsp
1. save.jsp를 출력하기 위한 링크 있음(요청주소: /save)
3. list.jsp를 출력하기 위한 버튼 있음(요청주소: /list)

3. save.jsp
1. 도서 등록을 위한 페이지
2. 제목(bookName), 출판사(bookPublisher), 저자(bookAuthor), 정가(bookPrice) 받음
3. 입력정보는 /save 로 post 방식으로 전달됨
4. 입력정보는 BookService의 save() 메서드에서 System.out으로 출력


Controller
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.stereotype.Controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.ui.Model;
@Controller
public class BookController {
@Autowired // BookService 의존성 주입 (필드 주입)
private BookService bookService;
@PostMapping("/save")
public String saveParam(@ModelAttribute BookDTO bookDTO){
받은 정보의 파라미터를 @ModelAttribute를 사용하여 바로 객체에 담아줌
bookService.save(bookDTO);
담은 객체를 bookService의 save 메소드 매개변수로 전달
return "index";
}
}
BookService
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class BookService {
@Autowired
private BookRepository bookRepository;
public void save(BookDTO bookDTO){
System.out.println("bookDTO = " + bookDTO);
매개 변수로 받은 DTO 객체를 soutp를 이용하여 출력함
}
}
- 수업 진행을 위한 MySQL - DB 와 table 만들기
MySQL 다운로드 및 설치 방법
인천 일보 아카데미 24일차 - mysql , 데이터베이스란? , SQL 문법 분류/용어 , mysql 계정만들기
mySQL 다운로드 링크 https://dev.mysql.com/downloads/installer/ MySQL :: Download MySQL Installer Select Operating System: Select Operating System… Microsoft Windows Select OS Version: All Windows (x86, 32-bit) Windows (x86, 32-bit), MSI Installer 8
guping.tistory.com
1. 새로운 계정 및 database 만들기
user: user_springframework
password: 1234
database: db_springframework
모든권한 부여함

create user user_springframework@localhost identified by '1234';
create user를 통해 계정과 비밀번호를 설정해줌
계정 뒤의 @localhost는 해당 사용자가 로컬 호스트(해당 MySQL 서버가 실행 중인 컴퓨터)에서만
접속할 수 있도록 지정하는 데 사용됨
create database db_springframework;
create database로 DB를 생성했습니다
grant all privileges on db_springframework.* to user_springframework@localhost;
grant로 권한을 부여합니다
all privileges로 모든 테이블에 대한 권한을 줍니다
on db_springframework 즉 , 해당 DB에서만 입니다
또 한번 @localhost를 작성함으로 MySQL서버가 열린 로컬에서만 접속 가능합니다
use mysql;
select user from user;
생성한 유저계정이 잘 만들어졌는지 확인했습니다
- BookDTO객체로 받은 정보를 저장할 table 만들기
DB에 넘겨줄 때 객체로 가공하여 넘겨주기 때문에
table의 컬럼은 DTO의 필드와 같은 이름으로 설정해줍니다

use db_springframework;
앞에서 만든 DB를 열어줍니다
drop table if exists book_list;
drop if exsts를 사용하여 혹시나
이미 있는 테이블 이름을 사용하지는 않았는지 검수합니다
create table book_list(
id bigint auto_increment primary key,
bookName varchar(50) not null,
bookPublisher varchar(20),
bookAuthor varchar(20),
bookPrice int
);
create table을 사용하여 태이블을 만들어줍니다
각 컬럼의 이름과 타입을 설정해줍니다
id는 값을 넣지 않아도 자동으로 증가할 수 있도록 auto_increment를 사용합니다
또한 고유한 값이기 때문에 primary key로 지정해줍니다
'나의 수업일지' 카테고리의 다른 글
- 새프로젝트 만들기
1. project name: library
2. base-package: com.icia.lib
- 3. 주요 동작 및 파일
1. Class
1. HomeController
1. 기본주소 요청에 대해 index.jsp 출력

2. BookController
1. 도서 등록, 조회, 목록 출력 등을 위한 메서드 있음

3. BookService
1. Controller로 부터 호출되며 로직 처리

4. BookDTO
1. 번호(id), 제목(bookName), 출판사(bookPublisher), 저자(bookAuthor), 정가(bookPrice)
정보를 담기 위한 필드 있음.

2. index.jsp
1. save.jsp를 출력하기 위한 링크 있음(요청주소: /save)
3. list.jsp를 출력하기 위한 버튼 있음(요청주소: /list)

3. save.jsp
1. 도서 등록을 위한 페이지
2. 제목(bookName), 출판사(bookPublisher), 저자(bookAuthor), 정가(bookPrice) 받음
3. 입력정보는 /save 로 post 방식으로 전달됨
4. 입력정보는 BookService의 save() 메서드에서 System.out으로 출력


Controller
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.stereotype.Controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.ui.Model;
@Controller
public class BookController {
@Autowired // BookService 의존성 주입 (필드 주입)
private BookService bookService;
@PostMapping("/save")
public String saveParam(@ModelAttribute BookDTO bookDTO){
받은 정보의 파라미터를 @ModelAttribute를 사용하여 바로 객체에 담아줌
bookService.save(bookDTO);
담은 객체를 bookService의 save 메소드 매개변수로 전달
return "index";
}
}
BookService
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class BookService {
@Autowired
private BookRepository bookRepository;
public void save(BookDTO bookDTO){
System.out.println("bookDTO = " + bookDTO);
매개 변수로 받은 DTO 객체를 soutp를 이용하여 출력함
}
}
- 수업 진행을 위한 MySQL - DB 와 table 만들기
MySQL 다운로드 및 설치 방법
인천 일보 아카데미 24일차 - mysql , 데이터베이스란? , SQL 문법 분류/용어 , mysql 계정만들기
mySQL 다운로드 링크 https://dev.mysql.com/downloads/installer/ MySQL :: Download MySQL Installer Select Operating System: Select Operating System… Microsoft Windows Select OS Version: All Windows (x86, 32-bit) Windows (x86, 32-bit), MSI Installer 8
guping.tistory.com
1. 새로운 계정 및 database 만들기
user: user_springframework
password: 1234
database: db_springframework
모든권한 부여함

create user user_springframework@localhost identified by '1234';
create user를 통해 계정과 비밀번호를 설정해줌
계정 뒤의 @localhost는 해당 사용자가 로컬 호스트(해당 MySQL 서버가 실행 중인 컴퓨터)에서만
접속할 수 있도록 지정하는 데 사용됨
create database db_springframework;
create database로 DB를 생성했습니다
grant all privileges on db_springframework.* to user_springframework@localhost;
grant로 권한을 부여합니다
all privileges로 모든 테이블에 대한 권한을 줍니다
on db_springframework 즉 , 해당 DB에서만 입니다
또 한번 @localhost를 작성함으로 MySQL서버가 열린 로컬에서만 접속 가능합니다
use mysql;
select user from user;
생성한 유저계정이 잘 만들어졌는지 확인했습니다
- BookDTO객체로 받은 정보를 저장할 table 만들기
DB에 넘겨줄 때 객체로 가공하여 넘겨주기 때문에
table의 컬럼은 DTO의 필드와 같은 이름으로 설정해줍니다

use db_springframework;
앞에서 만든 DB를 열어줍니다
drop table if exists book_list;
drop if exsts를 사용하여 혹시나
이미 있는 테이블 이름을 사용하지는 않았는지 검수합니다
create table book_list(
id bigint auto_increment primary key,
bookName varchar(50) not null,
bookPublisher varchar(20),
bookAuthor varchar(20),
bookPrice int
);
create table을 사용하여 태이블을 만들어줍니다
각 컬럼의 이름과 타입을 설정해줍니다
id는 값을 넣지 않아도 자동으로 증가할 수 있도록 auto_increment를 사용합니다
또한 고유한 값이기 때문에 primary key로 지정해줍니다