Career/JPA

[JPA] JPA를 이용한 데이터 삽입 및 삭제 하는 방법

AlexHouse 2022. 9. 12. 23:00
728x90

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

 

[JPA] No tests found with test runner 'JUnit 5'. 오류 해결

초간단 하다 글이 도움이 되었다면.. 좋아요 / 댓글 눌어주면 감사하겠다. Run -> Run Configurations... 클릭 이거 Junit5에서 Junit4 로 바꾼다. 그럼 잘 작동 할것이다. To be continue..

chocoboy.tistory.com

 

이 글을 확인하면 좋겠다.

 


 

 

 

To be continue..

728x90