13
SPRING DATA JPA SIMPLE EXAMPLE 이이이 , 이이이이이 (topcredu.co.kr)

스프링 JPA 강좌(Spring Data JPA 간단 예제)

  • Upload
    3-2

  • View
    1.081

  • Download
    12

Embed Size (px)

Citation preview

Page 1: 스프링 JPA 강좌(Spring Data JPA 간단 예제)

SPRING DATA JPA SIMPLE EXAMPLE

이종철 , 탑크리에듀 (topcredu.co.kr)

Page 2: 스프링 JPA 강좌(Spring Data JPA 간단 예제)

1. 프로젝트 생성• Spring Boot, WEB MVC, Spring Data JPA, Maria DB 를 이 용 하 여 간단히 예제를 만들어 보겠습니다 .

• 마리아 DB 설치는 아래 URL 참조하세요• http://ojc.asia/bbs/board.php?bo_table=LecSpring&wr_id=524

• STS 에서 File -> New Project -> Spring Starter Project• Name : springjpaexam• Type : MAVEN• Package : jpa

• 다음화면에서 SQL -> JPA, MySQL, WEB -> Web 선택

Page 3: 스프링 JPA 강좌(Spring Data JPA 간단 예제)

2. src/main/resources/application.propertiesspring.datasource.platform=mysqlspring.datasource.sql-script-encoding=UTF-8spring.datasource.url=jdbc:mysql://localhost/jpa_emp?createDataba-seIfNotExist=truespring.datasource.username=rootspring.datasource.password=1111spring.datasource.driver-class-name=com.mysql.jdbc.Driverspring.jpa.show-sql=true

# 엔티티 클래스를 기반으로 테이블을 자동갱신 / 생성 하도록spring.jpa.hibernate.ddl-auto=updatelogging.level.jpa=DEBUG

Page 4: 스프링 JPA 강좌(Spring Data JPA 간단 예제)

3. 도메인 모델 클래스 (Emp.java)package jpa.domain;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id; @Entitypublic class Emp {

@Id@GeneratedValueprivate Integer empno;private String ename;public Emp() {}public Emp(String ename) {

this.ename = ename; }

public Integer getEmpno() { return empno; }

public void setEmpno(Integer empno) { this.empno = empno; }

public String getEname() {return ename; }public void setEname(String ename)

{ this.ename = ename; }}

Page 5: 스프링 JPA 강좌(Spring Data JPA 간단 예제)

4. 레토지터리 클래스 (EmpRepository.java)package jpa.repository;import org.springframework.data.jpa.repository.JpaRepository;import jpa.domain.Emp;

// JpaRepository 에서 기본적인 CRUD 를 제공한다 .// JpaRepository 매개변수로 도메인클래스와 키타입을 기술한다 .public interface EmpRepository extends JpaRepository<Emp, Integer> {}

Page 6: 스프링 JPA 강좌(Spring Data JPA 간단 예제)

5. 서비스 인터페이스 (EmpService.java)package jpa.service;

import java.util.List;import jpa.domain.Emp; public interface EmpService {

Emp save(Emp e);void delete(Integer empno);Emp getEmp(Integer empno);List<Emp> getAllEmp();

}

Page 7: 스프링 JPA 강좌(Spring Data JPA 간단 예제)

6. 서비스 구현체 (EmpServiceImpl.java) - 1package jpa.service;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import jpa.domain.Emp;import jpa.repository.EmpRepository; @Servicepublic class EmpServiceImpl implements EmpService { @Autowired EmpRepository empRepository;  public Emp save(Emp e) { return empRepository.save(e);}

Page 8: 스프링 JPA 강좌(Spring Data JPA 간단 예제)

6. 서비스 구현체 (EmpServiceImpl.java) - 2public void delete(Integer empno) {empRepository.delete(empno); }  public Emp getEmp(Integer empno) {

return empRepository.findOne(empno); }  public List<Emp> getAllEmp() { return empRepository.findAll(); }}

Page 9: 스프링 JPA 강좌(Spring Data JPA 간단 예제)

7. 컨트롤러 (EmpController.java) - 1package jpa.controller;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RestController;import jpa.domain.Emp;import jpa.service.EmpService; @RestController@RequestMapping("/emp")public class EmpController {

@AutowiredEmpService empService;

Page 10: 스프링 JPA 강좌(Spring Data JPA 간단 예제)

7. 컨트롤러 (EmpController.java) - 2// http://localhost:8080/emp/get/2

@RequestMapping(value = "/get/{empno}", method = RequestMethod.GET)

public Emp get(@PathVariable Integer empno) {return empService.getEmp(empno);

} // http://localhost:8080/emp/save.do?ename= 홍길동

@RequestMapping(value = "/save", method = Request-Method.GET)

public Emp add(Emp emp) {return empService.save(emp);

}

Page 11: 스프링 JPA 강좌(Spring Data JPA 간단 예제)

7. 컨트롤러 (EmpController.java) - 3// http://localhost:8080/emp/save/ 새길동

@RequestMapping(value = "/save/{ename}", method = RequestMethod.GET)

public Emp add2(@PathVariable String ename) {return empService.save(new Emp(ename));

// http://localhost:8080/emp/delete/2@RequestMapping(value = "/delete/{empno}", method

= RequestMethod.GET)public void delete(@PathVariable Integer empno) {

empService.delete(empno);}

Page 12: 스프링 JPA 강좌(Spring Data JPA 간단 예제)

7. 컨트롤러 (EmpController.java) - 4// http://localhost:8080/emp/getall.do

@RequestMapping(value = "/getall", method = Re-questMethod.GET)

public List<Emp> getAll() {return empService.getAllEmp();

}}

Page 13: 스프링 JPA 강좌(Spring Data JPA 간단 예제)

연습이 대가를 만듭니다 .

실무 JAVA, Spring Framework, JPA 교육 전문탑크리에듀 http://www.topcredu.co.kr