Back-end 28

[Spring DB] Repository (JPA, JPQL, Native SQL)

Spring Boot (JPA, JPQL, Native SQL) JpaRepository 스프링 JPA 라이브러리에서 Entity에 대한 기본적인 CRUD가 가능하도록 만든 인터페이스 Repository JpaRepository를 상속받아 엔티티Repository 인터페이스를 생성한다. (@Repository 어노테이션 추가) JPA Repository에서 작성하는 SQL문 자동 실행되는 함수 JPA 기본 함수 종류 finaAll() SELECT * FROM 테이블명 을 실행 findBy열이름() SELECT 열이름 FROM 테이블명 을 실행 예시 findById((long)2) ⇒ SELECT * FROM 테이블명 WHERE id=2; findByUser_id(”hong”) ⇒ SELECT * FROM..

[Spring Boot] Devtools, LocaleResolver(다국어 처리)

Spring Boot Devtools Devtools html 파일 저장 시 서버 재시작없이 view 파일 변경 가능 적용 build.gradle - dependencies 안에 아래 코드 추가 developmentOnly 'org.springframework.boot:spring-boot-devtools' preferences - 컴파일러 - 프로젝트 자동 빌드 체크 고급설정 - 컴파일러 - auto-make 허용 체크 우측 상단에 구성 편집 - 옵션 수정 update 작업 시 - 클래스 및 리소스 업데이트 프레임 비활성화 시 - 클래스 및 리소스 업데이트 application.properties 안에 아래 코드 추가 spring.devtools.restart.enabled=true spring.thy..

[Spring Boot] builder, Rest API

builder로 값 넣기 builder().build()로 List에 값 넣기 이전 방식은 new 인스턴스 생성후 setter로 값 넣기였지만, builder로 값을 넣을 수 있다. (가독성 더 좋아짐) 클래스명 변수명 = 클래스명.builder().변수명(값).build(); 형태 그 이전에 먼저 해당 엔티티 클래스에는 @Builder 어노테이션을 줘야한다. 예시 @Data @Builder public class Member { private String username; private String password; private String email; private LocalDate joindate; } 이후 컨트롤러에서 메서드에 builder() 코드 추가 예시 Member member1 = Me..

[Spring Boot] 데이터 전달, Param 값 받기, ArrayList

데이터 전달 및 Param 값 받기 UI 템플릿으로 데이터 전달 방법 4가지 (타임리프, JSP, 머스테치) request 객체, session 객체 GET, POST 파라미터 @RequestMapping("/model2") public String model2(HttpServletRequest request){ String param_name = request.getParameter("name"); String param_age = request.getParameter("age"); request.setAttribute("name", param_name); request.setAttribute("age", param_age); return "index"; } Model 객체 ModelAndView 객체..

[Spring Boot] Thymeleaf, redirect/forward

Thymeleaf 타임리프란 템플릿 엔진의 일종이며 html 태그에 속성을 추가하여 동적 HTML로 값을 출력한다. 사용 전 설정 의존성 추가 implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' application.properties 추가 #타임리프 #캐시 off : html파일을 수정시마다 매번 내려준다. spring.thymeleaf.cache=false #html 파일 위치 지정 spring.thymeleaf.prefix=classpath:/templates/ #파일 확장자 spring.thymeleaf.suffix=.html 컨트롤러에 Model 클래스를 매개변수로 받은 서블릿 메서드 작성 Model 클래스 Model ..

[Spring Boot] Request Mapping의 종류, @RequestParam

내장 객체별 수명 주기 application 웹 브라우저를 닫을 때까지 session 로그아웃하기 까지 request 요청에 대한 응답하기 까지 model request와 동일 @RequestMapping 호출 경로를 매개변수로 받을 수 있다. GET, POST, PUT, PATCH, DELETE 모두 받을 수 있다. request 객체는 HTTP 요청에 대한 정보를 담고있다. request.getSession().setAttribute("isLogin", "true"); 예시 // URL : localhost:8080/loginAction1/hong/1234 @RequestMapping("loginAction1/{username}/{password}") public String loginAction1(..

[Spring Boot] Lombok 어노테이션 종류

Lombok이 지원하는 어노테이션 종류 (코드없이 함수와 생성자 자동 생성) @Getter 클래스 위에 작성하면 getter 함수 없이 자동 생성 @Setter 클래스 위에 작성하면 setter 함수 없이 자동 생성 @NoArgsConstructor 클래스 위에 작성하면 기본 생성자 자동 생성 @AllArgsConstructor 클래스 위에 작성하면 매개변수 생성자 자동 생성 @RequiredArgsConstructor final 필드나 @NonNull이 붙은 필드만 매개변수로 받는 생성자 자동 생성 @NonNull null을 허용하지 않는 객체 빈 자동 생성 @Nullable null을 허용하는 객체 빈 자동 생성 @ToString toString 메소드 자동 생성 @EqualsAndHashCode e..

[Spring Boot] Spring Bean 생성, 주입 방법, @Controller

@SpringBootApplication 3가지의 어노테이션을 합쳐놓은 어노테이션이다. @ComponentScan @Component가 붙은 클래스를 찾아서 Bean으로 등록한다. @EnableAutoConfiguration 스프링 프레임워크의 기본적인 기능을 활성화할 때 사용하는 어노테이션 @SpringBootConfiguration @Configuration이 붙은 클래스 (웹 애플리케이션의 설정 정보를 담는 클래스)를 스프링 프레임워크의 설정 클래스로 등록한다. Bean (빈) 스프링 프레임워크에서 관리하는 자바 클래스 객체를 의미 싱글톤이며 같은 이름의 빈은 선언 불가 첫글자는 소문자 클래스를 빈으로 만드는 어노테이션 2가지 @Bean Config 클래스 안에서 사용되고, 주로 외부 라이브러리 사..

[Spring Boot] Directory 환경, Architecture, Dependencies 종류, POJO

Spring boot Directory 환경 src/main/java Controller, Service, Repository, DTO, Entity 등 서버 사이드에서 필요한 자바 클래스 생성 프로젝트 생성 시 만든 package를 기반으로 이후 새롭게 만들어 사용 src/main/resources/static Thymeleaf를 이용하여 웹 애플리케이션에 필요한 이미지, CSS, JS 등 기입 src/main/templates Thymeleaf를 이용하여 개발 시 화면 파일 작성 (JSP 미사용) src/main/webapp/view JSP를 이용하여 개발 시 View에 해당하는 JSP 작성 application.properties 전체 웹 애플리케이션의 환결 설정 Port, DB 등의 정보 pom...

스프링부트3 백엔드개발자되기 / 5장 데이터베이스 조작이 편해지는 ORM

데이터베이스DBMS(Database managements system)데이터베이스 관리 및 운영MySQL, 오라클관계형 DBMS(RDBMS)테이블 형태로 이루어진 데이터 저장소각 행은 고유의 키(아이디)를 가지고 있고 값들이 들어간다.ORM(object-relational mapping)자바의 객체와 데이터베이스를 연결하는 프로그래밍 기법SQL을 직접 작성하지 않고 데이터베이스에 접근JPA(Java Persistence API)자바에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스사용시 ORM 프레임워크 사용(hibernate, 내부적으로는 JDBC API 사용)데이터베이스- JDBC- 하이버네이트- JPA- 스프링데이터JPA- 애플리케이션엔티티(Entity)데이터베이스의 테이블과 매핑되는 객체..

728x90