Spring Boot 통합 Spring Data Jpa 코드 인 스 턴 스

1.Spring Data Jpa 의 소개
spring data:사실은 spring 이 제공 하 는 조작 데이터 의 프레임 워 크 입 니 다.한편,spring data JPA 는 spring data 프레임 워 크 의 JPA 표준 조작 데 이 터 를 기반 으로 하 는 모듈 일 뿐이다.
spring data jpa:JPA 기준 으로 데 이 터 를 조작 합 니 다.지구 층 을 조작 하 는 코드 를 간소화 하고 인터페이스 만 작성 하면 됩 니 다.sql 문 구 를 쓰 지 않 아 도 되 고 수 동 으로 데이터베이스 시트 를 만 들 지 않 아 도 됩 니 다.
의존 추가

 <!--  springdatajpa   -->
     <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-data-jpa</artifactId>
     </dependency>
3.프로젝트 에 application.properties(또는 application.yml)프로필 을 추가 하고 데이터 원본 설정 과 jpa 설정 을 추가 합 니 다.
다음 두 가 지 는 어느 하나 라 도 가능 하 다.
a,application.properties 프로필

#DB Configuration
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/springboot
spring.datasource.username=root
spring.datasource.password=ROOT

#JPA Configuration
spring.jpa.database=MySQL
spring.jpa.show-sql=true
spring.jpa.generate-ddl=true
b.application.yml 프로필

spring:
 datasource:
  driver-class-name: com.mysql.jdbc.Driver
  url: jdbc:mysql://127.0.0.1:3306/springboot
  username: root
  password: ROOT

 jpa:
  database: mysql
  show-sql: true
  generate-ddl: true
4.실체 클래스 추가
주의 하 다.
  • @Entity:표지 라 는 실체 류 는 JPA 실체 로 JPA 가 프로그램 이 실 행 될 때 이 실체 류 에 대응 하 는 표를 생 성 하 는 것 을 기억 하 라 고 알려 줍 니 다~
  • @Table(name="사용자 정의 표 이름"):데이터베이스 에 대응 하 는 표 이름 을 사용자 정의 로 설정 합 니 다!
  • @Id:어떤 속성 이 표 의 메 인 키 에 대응 하 는 지 표시 합 니 다
  • @Generated Value(strategy=Generation Type.IDENTITY):메 인 키 가 스스로 증가 하고 메 인 키 의 생 성 전략 을 설정 합 니 다.이런 방식 은 구체 적 인 데이터 베이스 에 의존 합 니 다.데이터 베이스 가 메 인 키 를 지원 하지 않 으 면 이 유형 은 사용 할 수 없습니다.
  • @Column(name="사용자 정의 필드 이름",length="사용자 정의 길이",nullable="비 울 수 있 습 니까",unique="유일 합 니까",columnDefinition="이 필드 의 유형 과 길 이 를 사용자 정의 합 니 다")
  • 이 변수 에 대응 하 는 필드 이름 에 대해 개성 화 된 설정 을 하 는 것 을 나타 낸다.예 를 들 어 필드 의 이름,필드 의 길이,비어 있 는 지,유일 한 지 등 이다.
    
    package com.offcn.entity;
    
    import javax.persistence.*;
    
    @Entity
    @Table(name = "user")//   
    public class User {
      @Id//    
      @GeneratedValue(strategy = GenerationType.IDENTITY)//     
      private Integer id;
      private String username;
      private Integer age;
    
      public Integer getId() {
        return id;
      }
    
      public void setId(Integer id) {
        this.id = id;
      }
    
      public String getUsername() {
        return username;
      }
    
      public void setUsername(String username) {
        this.username = username;
      }
    
      public Integer getAge() {
        return age;
      }
    
      public void setAge(Integer age) {
        this.age = age;
      }
    
      @Override
      public String toString() {
        return "User{" +
            "id=" + id +
            ", username='" + username + '\'' +
            ", age=" + age +
            '}';
      }
    }
    5.dao 층 인터페이스 추가
    
    package com.offcn.dao;
    import com.offcn.entity.User;
    import org.springframework.data.jpa.repository.JpaRepository;
    public interface UserDao extends JpaRepository<User,Integer> {
    }

    6.컨트롤 러 층 테스트 코드
    
    package com.offcn.controller;
    
    import com.offcn.dao.UserDao;
    import com.offcn.entity.User;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    import java.util.Optional;
    @RestController
    @RequestMapping("/user")
    public class UserController {
      @Autowired
      private UserDao userDao;
      //  
      @RequestMapping("/saveInfo")
      public String saveInfo(){
        User user = new User();
        user.setAge(18);
        user.setUsername("  ");
        userDao.save(user);
        return "success";
      }
      //  
      @GetMapping("/getUsersById")
      public User getUserById(){
        User user = userDao.getOne(1);
        return user;
      }
    }
    이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

    좋은 웹페이지 즐겨찾기