10시 51분이다.
추석 끝나고 이렇게 공부하려니까
피곤해 죽겠다.
추석 일주일 내내 쉬었으면 좋겠다.
바로 JPA INSERT 드가보자~
JPA 데이터 삽입
TestDeptRepository.java
package com.example.demo.repository;
import org.junit.FixMethodOrder;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.MethodSorters;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import com.example.demo.domain.Dept;
import lombok.extern.slf4j.Slf4j;
import org.springframework.test.annotation.Commit;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@Slf4j
@Commit
@SpringBootTest
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class TestDeptRepository {
@Autowired
private DeptRepository deptRepository;
@Test
public void insertData() {
Dept dept = new Dept();
dept.setDEPTNO(10L);
dept.setDNAME("부서명");
dept.setLOC("10 부서 위치");
deptRepository.save(dept);
}
다음과 같이 코드를 짜준다.
DeptRepository는 상속 시켜주는 파일을 의미하는데
package com.example.demo.repository;
import org.springframework.data.repository.CrudRepository;
import com.example.demo.domain.Dept;
public interface DeptRepository extends CrudRepository<Dept, Long> {
}
다음과 같은 파일 내용이 들어간다. 이 파일을 통해서
JPA를 통해서 CRUD 가 가능하다고 한다.
Dept.java
package com.example.demo.domain;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@ToString
@Entity
@Table(name ="DEPT")
public class Dept {
@Id
private Long DEPTNO;
private String DNAME;
private String LOC;
public Long getDEPTNO() {
return DEPTNO;
}
public void setDEPTNO(Long dEPTNO) {
DEPTNO = dEPTNO;
}
public String getDNAME() {
return DNAME;
}
public void setDNAME(String dNAME) {
DNAME = dNAME;
}
public String getLOC() {
return LOC;
}
public void setLOC(String lOC) {
LOC = lOC;
}
}
Generate Getter, Setter 안하려고
롬복 셋팅했는데, 안먹혀서
직접 Generate 해줬다.
꼭 이런식으로 Outline 확인해서
Getter, Setter 있는지 확인하라 그래야
데이터가 들어가고 삭제를 사용할 수 있다.
그리고 class 파일 우클릭하고
Open Type Hierachy 클릭하면
다음과 같이 Class 별로 실행 할 수 있게 나타난다.
거기서 InsertData(); 이부분을
우클릭하고
Run As -> Junit Test
클릭하면 실행이된다.
그럼 성공이되면 다음과 같이 데이터 삽입이 된 로그가 등장하고
성공했다고 로그가 나타난다.
그리고
SqlDeveloper 직접 들어와서
확인해보면 삽입 끝 !
삭제도 마찬가지
@Test
public void deleteData() {
Dept dept = new Dept();
dept.setDEPTNO(10L);
deptRepository.delete(dept);
}
class에 다음과 같이 작성하면 된다.
삭제 끝!
No tests found with test runner 'JUnit 5'. 만약 이런 오류가 나타난다면
https://chocoboy.tistory.com/222
이 글을 확인하면 좋겠다.
To be continue..
'Career > JPA' 카테고리의 다른 글
[JPA] No tests found with test runner 'JUnit 5'. 오류 해결 (0) | 2022.09.12 |
---|---|
[JPA] @SpringBootTest 메이븐 에러 해결 방법 (0) | 2022.09.12 |
[JPA] 스프링 부트 JPA이용하여 DB생성 하는방법 (0) | 2022.09.10 |