1. Dependency 추가
// build.gradle
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-jpa', version: '3.2.5'
runtimeOnly group: 'com.h2database', name: 'h2', version: '2.2.224'
compileOnly group: 'org.projectlombok', name: 'lombok', version: '1.18.30'
annotationProcessor group: 'org.projectlombok', name: 'lombok', version: '1.18.30'
2.property 추가
// application.yml
spring:
application:
name: hiioAdminServer
datasource:
driver-class-name: org.h2.Driver
url: jdbc:h2:P:\hiio420\h2DB\test.db
username: sa
password:
jpa:
database-platform: org.hibernate.dialect.H2Dialect
hibernate:
ddl-auto: create-drop
properties:
hibernate:
dialect: org.hibernate.dialect.H2Dialect
format_sql: true
show_sql: true
3. TestEntity 생성
package com.hiio.adminserver;
import jakarta.persistence.*;
import lombok.*;
@Entity
@Table(name = "TEST")
@Getter
@Setter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class TestEntity {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Builder
public TestEntity(Long id) {
this.id = id;
}
}
4. Repository 생성
package com.hiio.adminserver;
import org.springframework.data.jpa.repository.JpaRepository;
public interface TestRepository extends JpaRepository<TestEntity,Long> {
}
5. Test 코드 작성
package com.hiio.adminserver;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@SpringBootTest
@Slf4j
class HiioAdminServerSpringApplicationTests {
@Autowired
private TestRepository repo;
@Test
@DisplayName("test")
@Transactional
void contextLoads() {
log.info(repo.toString());
TestEntity t = TestEntity.builder().name("test1").build();
repo.save(t);
List<TestEntity> tList = repo.findAll();
for (TestEntity item : tList){
log.info(item.getId().toString());
log.info(item.getName());
}
}
}
...
2024-05-07T15:48:25.291+09:00 INFO 37480 --- [hiioAdminServer] [ Test worker] .a.HiioAdminServerSpringApplicationTests : 1
2024-05-07T15:48:25.292+09:00 INFO 37480 --- [hiioAdminServer] [ Test worker] .a.HiioAdminServerSpringApplicationTests : test1