@Controller
: 해당 클래스 스프링부트 컨트롤러 됨@ResponseBody
: URL 요청에 대한 응답으로 문자열을 리턴하라는 의미@RestController
: Controller + ResponseBody@Entity
: JPA가 Entity로 인식@Id
: 기본 키로 지정 ( primary key )@GeneratedValue
: 값을 따로 세팅하지 않아도 1씩 자동으로 증가하여 저장@Column
: 컬럼의 세부 설정을 위해 사용@ManyToOne
: N : 1
@OneToMany
: 1 : N
@SpringBootTest
: 테스트 클래스임을 의미@Autowired
: 스프링의 DI(의존성주입) 기능@Test
: 해당 메서드가 테스트 메서드임을 나타냄@OneToMany, @ManyToOne
의 옵션@Transactional
: 메서드 종료될 때까지 DB세선 유지항목 | 설명 |
---|---|
findAll | 모든데이터 조회 |
findById | Entity의 id값으로 데이터 조회 |
findBy + Entity속성명 ex) findBySubject | 해당 속성 값으로 데이터 조회 |
findBy + 속성명 + 속성명 ex) findBySubjectAndContent | 두개의 속성 값으로 데이터 조회 |
AND
,OR
,Between
,
LessThan
: 작은 항목 검색 ,
GreaterThanEqual
: 크거나 같은 항목 검색 ,
Like
,In
,OrderBy
build.gradle
항목 설명 developmentOnly
개발 환경에만 적용 runtimeOnly
런타임시에만 필요 compileOnly
컴파일시에만 필요 annotationProcessor
컴파일 단계에서 어노테이션 분석하고 처리하기 위해 사용 implementation
일반적으로 사용하는 설정,
해당 라이브러리 변경되더라도, 연관된 모든 모듈 컴파일 하지 않고,
직접 관련 있는 모듈만 컴파일
-> rebuild 속도 빠름
application.properties
- DATABASE
항목 설명 spring.h2.console.enabled=true H2 콘솔의 접속 허용 여부,
true로 설정spring.h2.console.path=/h2-console 콘솔 접속을 위한 URL spring.datasource.url=jdbc:h2:~/local 데이터베이스 접속 위한 경로 spring.datasource.driverClassName=org.h2.Driver 데이터베이스 접속시 사용하는 드라이버 spring.datasource.username=sa 데이터베이스 사용자명,
default = saspring.datasource.password= 데이터베이스의 패스워드
- JPA
항목 설명 spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.H2Dialect 데이터베이스 엔진 종류 설명 spring.jpa.hibernate.ddl-auto Entity 기준으로 테이블 생성하는 규칙 정의,
개발환경에서는 주로 update
운영환경에서는 주로 none 또는 validatespring.jpa.hibernate.ddl-auto=none Entity 변경되도 DB 변경되지 않음 spring.jpa.hibernate.ddl-auto=update Entity 변경된 부분만 적용 spring.jpa.hibernate.ddl-auto=validate 변경 사항 있는지 검사만 spring.jpa.hibernate.ddl-auto=create 서버 시작될 때 모두 drop하고 다시 생성 spring.jpa.hibernate.ddl-auto=create-drop create와 동일하지만, 종료시에도 모두 drop