자바 웹 개발/스프링부트(10)
-
[SpringBoot] 엔티티로 테이블 매핑하기
엔티티란?엔티티는데이터베이스 테이블과 매핑되는 자바 클래스를 말한다. 질문과 답변을 할 수 있는 게시판을 작성하기 위해서는 질문과 답변 데이터를 제정할 데이터베이스 테이블과 매핑된다. 질문 엔티티 엔티티를 만들기 위해서는 @Entity로 애너테이션을 적용해야 한다. @Getter@Setter@Entitypublic class Question { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; @Column(length = 200) private String subject; @Column(columnDefinition = "TEXT") private String content; private LocalD..
2024.08.27 -
[SpringBoot] JPA로 데이터베이스 사용하기
ORM이란?ORM은 SQL을 사용하지 않고 자바 문법으로 데이터베이스를 관리하는 도구이다. DBMS 종류와 상관없이 일관된 자바 코드를 사용할 수 있어서 유지, 보수가 편하다는 장점이 있다. 데이터를 관리하는데 사용되는 ORM 자바 클래스는 엔티티라고 한다. JPA란?스프링 부트는 JPA를 ORM의 기술 표준으로 사용한다. JPA는 인터페이스 모음으로 구현할 실제 클래스가 필요하다. H2 데이터베이스 설치하기build.gradle 파일에 다음과 같이 입력하여 H2 데이터베이스를 설치한다. runtimeOnly 'com.h2database:h2' src/main/resources 디렉터리의 application.properties 파일에 새로운 설정을 추가해야 H2를 사용할 수 있다. spring.h2..
2024.08.27 -
[SpringBoot] 컨트롤러, 매핑
웹 브라우저에서 요청이 발생하면 URL이 스프링 부트에 매핑이 되어 있어야 하고, 이를 위해서 먼저 컨트롤러가 만들어져야 한다. 컨트롤러는 클래스 위에 @Controller 애너테이션을 적용하여 만들 수 있다.@Controllerpublic class MainController{ @GetMapping("/myhome") public void index(){ System.out.println("myHome"); }} @GetMapping 애너테이션은요청된 URL과의 매핑을 담당한다. 다만, 매핑을 설정해도 리턴값을 지정하지 않으면 오류가 나기 때문에 @ResponseBody를 통해 응답을 해야한다. @Controllerpublic class MainController{ @GetMappin..
2024.08.26 -
[SpringBoot] 스프링부트 프로젝트 구조
Application.java 파일모든 프로그램의 시작을 담당하는 파일이다. 프로젝트명 + Application.java 파일이 이를 담당한다. @SpringBootApplication 애너테이션이 적용되어야 한다.@SpringBootApplicationpublic class MySpringBootApplication { public static void main(String[] args) { SpringApplication.run(MySpringBootApplication.class, args); }} src/main/resources 디렉터리자바 파일을 제외한 HTML, CSS, JS, 환경 파일이 저장되어 있다. templates 디렉터리템플릿 파일을 저장한다. 템플릿은 자바 코드를 삽입..
2024.08.26