통합의 스프링 JPA 연구 노트 (A)

A, 치어 구성

<XML 버전 = "1.0"?> 
< 프로젝트 
    XSI :의 schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0. XSD " 
    의 xmlns ="http://maven.apache.org/POM/4.0.0 "의 xmlns :이 xsi ="http://www.w3.org/2001/XMLSchema-instance "> 
    <modelVersion> 4.0.0 < / modelVersion> 
    <부모> 
        <의 groupId> com.module.demo </의 groupId> 
        <artifactId를> 모듈 부모 </ artifactId를> 
        <version>은 $ {module.version} </ 버전> 
        <relativepath를> ../../ 모듈 부모 /의 pom.xml </ relativepath를> 
    </ 부모> 
    <artifactId를> 모듈 JPA-DAO </ artifactId를>
    <이름> 모듈 JPA-DAO </ 이름> 
    <URL> HTTP : //maven.apache.org </ URL> 
    <속성> 
        <project.build.sourceEncoding> UTF-8 </project.build.sourceEncoding> 
    </ 속성> 
    <의존성> 
        <의존성> 
            <의 groupId>의 JUnit </의 groupId> 
            <artifactId를 >의 JUnit </ artifactId를> 
            <분야> 시험 </ 범위> 
        </ 의존성> <의존성> 
            <의 groupId> org.springframework.boot </의 groupId> 
            <artifactId를> 스프링 부팅 스타터 데이터 JPA </ artifactId를> 
        < / 의존성> 
        <의존성> 
            <의 groupId> MySQL의 </의 groupId>
            <artifactId를> MySQL을 커넥터 자바 </ artifactId를>
        
            <분야> 런타임 </ 범위>
        </ 의존성> //引入JPA和数据库驱动 
        <의존성>
            <의 groupId> com.module.demo </의 groupId>
            <artifactId를> 모듈 dao- 인터페이스 </ artifactId를>
        </ 의존성>
    </ 의존성>
</ 프로젝트>

 

두, JPA 도구 데이터베이스 테이블 생성 엔티티 객체

     때문에 이상의 데이터베이스 테이블 후, 엔티티 객체는 통합 비용 및 사용을 줄이기 위해, 제대로, 따라서이에 따라 어려움의 큰 거래를 가져올 수있는 통합 작업을 제공 구성하기 위해, 엔티티 주제 영역의 JPA의 지식과 이해의 깊이있는 연구를 작성해야 공구 데이터베이스 테이블에서 JPA 도구의 일식 직접 엔티티 클래스에 매핑.

1, 일식 빌드 데이터베이스 연결

> 쇼보기 ---> 기타 ---> 데이터 관리 - -> 데이터 소스 탐색기 개방형 데이터베이스 연결 관리보기 (1) 윈도우의 일식 클릭

        

 

 (2) 데이터베이스 연결을 설정

      여기에 사용 MySQL은입니다.

     

          

   

 

 

 

         데이터 소스 탐색기이보기는 데이터베이스 연결을 설정 한 나타냅니다 나타납니다.

 

(3) JPA 도구 프로젝트를 추가

프로젝트를 선택하고 마우스 오른쪽 버튼으로 클릭하고 속성을 선택

                     

 

 

 

 (4) (3), 프로젝트 JPA 도구 엔티티 클래스 JPA 툴에 의해 생성 이번에 추가

      

 

 

상기 단계 후, 다음과 같은 com.module.demo.dap.jpa.entity 해당 엔티티 클래스를 생성

패키지 com.module.demo.dao.jpa.entity; 

수입 java.io.Serializable을;
가져 오기 는 javax.persistence을 *. ; 


/ ** 
 * 학생 데이터베이스 테이블의 영속 클래스. 
 * 
 * / 
@Entity 
@NamedQuery (이름 = "Student.findAll", 쿼리 = "학생의 FROM의 선택" )
 공개  수업 학생이 구현 직렬화 {
     개인  정적  최종  오래 serialVersionUID의 = 1L ; 

    @Id 
    @GeneratedValue (전략 = GenerationType.IDENTITY)
     전용  INT의 ID;

    개인 문자열 이름; 

    // 양방향 대일 관계 시간표 
    @ManyToOne 
    @JoinColumn (이름 = "timaeable" )
     전용 시간표 일정표 

    공공 학생 () { 
    } 

    공공  INT getId () {
         반환  .ID을; 
    } 

    공공  공극 setId ( INT의 ID) {
          .ID = ID; 
    } 

    공공 문자열 getName은 () {
         반환  .name을을; 
    } 

    공공  무효에서는 setName (문자열 이름) {
          .name을 = 이름; 
    } 

    공공 시간표는 getTimetable는 () {
         반환  .timetable을; 
    } 

    공공  공극 setTimetable (시간표 시간표) {
          .timetable = 일정표 
    } 

}

 

 세, JPA 구성

(1) 구성 DAO 층 (즉, 배치 창고 데이터베이스 접근 층)

패키지 com.module.demo.dao.jpa.repository; 

수입 org.springframework.data.repository.PagingAndSortingRepository; 

수입 com.module.demo.dao.jpa.entity.Student; 

공용  인터페이스 StudentRepository는 확장  PagingAndSortingRepository <학생, 정수> {    //一定要继承
   
}

 

 (2) 상기 구성 후, 필요 주사 JPA 엔티티 클래스를 구성하는 창고 스캔

      다른 일반 주석의, JPA 주석을 사용하여 스캔 방식으로 두 가지 구성이 있습니다    A) JPA 주석은

패키지 com.module.demo.dao, 

가져 오기 org.springframework.boot.autoconfigure.domain.EntityScan,
 가져 오기 org.springframework.context.annotation.ComponentScan,
 가져 오기 org.springframework.context.annotation.Configuration,
 가져 오기 org.springframework.context .annotation.PropertySource;
 오기 org.springframework.data.jpa.repository.config.EnableJpaRepositories; 

@Configuration 
@PropertySource ( "는 CLASSPATH : jpa.properties" ) // JPA 맞춤 구성 
@ComponentScan (basePackageClasses = JpaConfiguration의. 등급 )
 @EnableJpaRepositories      패키지의 구체적인 구성이 기본이 현재 패킷에서 검사되지 않을 것이다 // 지정된 스캔 DAO 계층 클래스 및 서브 패킷에 속하는
@EntityScan    패키지의 구체적인 구성은, 기본이 현재 패킷 검사하지 않습니다 // 엔티티 클래스 지정된 검사는 클래스와 그 서브 패키지에 속하는
 공공  클래스 JpaConfiguration { 
}

  b)는 일반적인 주석

  • application.yml 파일에 진정한 주석 spring.main.allow - 빈 - 정의 - 오버라이드 (override) = 추가;
봄 : 
  응용 프로그램 : 
    이름 : 웹 
  프로파일 : 
    활성 : "@ package.env @" 
# 데이터 소스 : 
# 유형 : com.alibaba.druid.pool.DruidDataSource는   주요 : 
 - 콩 - 정의 - 최우선을 :  사실      //允许콩을定义覆盖
     
서버 : 
  포트 : 8090 
  서블릿 : 
    컨텍스트 - 경로 : / 웹

 

  • 클래스 구성 @EnableAutoConfiguration 추가
@Configuration 
@PropertySource ( "클래스 경로 : jpa.properties" ) 
@ComponentScan (basePackageClasses . = JpaConfiguration 클래스 )
 / * @EnableJpaRepositories 
@EntityScan * / 
@EnableAutoConfiguration //自动根据클래스 경로加载对应配置类
 공공  클래스 JpaConfiguration { 
}

 

추천

출처www.cnblogs.com/sandyflower/p/11615007.html