Intellij IDEA 는 데이터베이스 테이블 을 통 해 주석 이 있 는 실체 클래스 를 어떻게 생 성 합 니까?

STEP 1:Maven 프로젝트 를 새로 만 듭 니 다.프로젝트 의 이름 은 JpaDemo 입 니 다.
저 는 아이디어 플러그 인 을 통 해 대응 하 는 spring 프로젝트 생 성기 입 니 다.https://start.spring.io,항목 을 직접 생 성 합 니 다.그림:

다음 단 계 는 해당 항목 의 기본 정보 로 수정 합 니 다.그림:

상응하는 의존 jar 패 키 지 를 선택 하 십시오.

항목 의 위 치 를 선택 하 다

생 성 완료

따뜻 한 힌트,그 전에 Maven 을 설치 해 야 합 니 다.

두 번 째 단계:데이터베이스 연결 설정.
Mysql 을 선택 하 십시오.

데이터베이스 기본 정보 설정

사실 이 데이터베이스 연결 을 설정 한 후에 스 크 립 트 를 통 해 데이터베이스 실체 류 를 직접 내 보 낼 수 있 습 니 다.그러나 이 내 보 낸 실체 류 는 비교적 초라 하고 수정 이 많 거나 스스로 수정 하여 스 크 립 트 문 구 를 만들어 야 합 니 다.예:

generate POJOs.clj 를 통 해 실체 클래스 를 내 보 낼 수 있 습 니 다.
실체 류 가 놓 인 곳 을 골 라 야 합 니 다.


효 과 는 다음 과 같 습 니 다:

그러나 이상 의 실체 류 는 주 해 를 달 지 않 았 다.그럼 우 리 는 프로젝트 를 통 해 hibenate 나 jpa 에 주 해 를 넣 어야 하 는데 어떻게 해 야 합 니까?주 해 를 하나씩 넣 을 수 는 없 잖 아 요.아 이 디 어 는 당연히 이렇게 하지 않 을 것 이다.
IntelliJ IDEA 빠 른 인 코딩 속도 사용:우리 프로그래머 의 작업 은 프로그램 을 쓰 는 것 이 아니 라 프로그램 을 써 서 문 제 를 해결 하 는 것 입 니 다.그럼 우 리 는 이전에 생 성 된 실체 류 를 삭제 했다.우 리 는 주 해 를 가 진 실체 류 를 다시 만 들 었 다.
세 번 째 단계:hibenate 파일 을 설정 합 니 다.
이 프로필 이 설정 되 어 있 지 않 으 면 아 이 디 어 는 실체 클래스 로 태 어 난 도구 옵션 을 표시 하지 않 습 니 다.

hibenate 프로필 을 설정 합 니 다.
자원 파일 아래 hibenate.cfg.xml 설정 파일 을 새로 만 듭 니 다.다음 내용 을 입력 하 십시오.

<?xml version='1.0' encoding='utf-8'?>
 
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
 
<hibernate-configuration>
 
    <session-factory>
 
        <!-- Database connection settings -->
 
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
 
        <property name="connection.url">jdbc:mysql://localhost/test</property>
 
        <property name="connection.username">root</property>
 
        <property name="connection.password">123456</property>
 
        <!-- JDBC connection pool (use the built-in) -->
 
        <!--
        <property name="connection.pool_size">1</property>
         -->
 
        <!-- SQL dialect -->
 
        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
 
        <!-- Enable Hibernate's automatic session context management -->
 
        <property name="current_session_context_class">thread</property>
 
 
 
        <!-- Echo all executed SQL to stdout -->
 
        <property name="show_sql">true</property>
 
        <!-- Drop and re-create the database schema on startup -->
 
        <!--
        <property name="hbm2ddl.auto">update</property>
        -->
 
 
 
    </session-factory>
 
</hibernate-configuration>
그림:

네 번 째 단계:아이디어 실체 류 생 성 도 구 를 추출 합 니 다.
실체 클래스 생 성 설정 도구

저장 후.메 인 패 널 왼쪽 에 persistence 가 있 습 니 다.hibenate 아이콘 에서 오른쪽 단 추 를 누 르 십시오.-generate Persistence Mapping-By Database Scheme.


처음에는 데이터 원본 이 선택 되 지 않 았 습 니 다.

설정 옵션
(1)데이터 원본 선택
(2)실체 류 를 생 성 하 는 위치
(3)실체 류 의 접두사 와 접두사
(4)시 계 를 모두 선택 할 수 있 거나 시 계 를 모두 선택 하지 않 을 수 있다.
(5)hibenate 의 실체 클래스 에 대응 하 는 xml 파일 을 생 성 할 수 있 습 니 다.
(6)표를 펼 친 후 대응 하 는 유형 을 수정 할 수 있 습 니 다.

다섯 번 째 단계:실행 할 데이터베이스 테이블 을 선택 하 십시오.

STEP 6:내 보 내기 효 과 를 봅 니 다.
생 성 과정

내 보 낸 결과
그 중의 한 실체 류 를 보고 효 과 를 볼 수 있다.

package com.souvc.entity;

 

import javax.persistence.Basic;

import javax.persistence.Column;

import javax.persistence.Entity;

import javax.persistence.Table;

 

/**

* Created by Administrator on 2017/3/22.

*/

@Entity

@Table(name = "authorities", schema = "test", catalog = "")

public class SouvcAuthoritiesEntity {

    private String username;

    private String authority;

 

    @Basic

    @Column(name = "username", nullable = false, length = 50)

    public String getUsername() {

        return username;

    }

 

    public void setUsername(String username) {

        this.username = username;

    }

 

    @Basic

    @Column(name = "authority", nullable = false, length = 50)

    public String getAuthority() {

        return authority;

    }

 

    public void setAuthority(String authority) {

        this.authority = authority;

    }

 

    @Override

    public boolean equals(Object o) {

        if (this == o) return true;

        if (o == null || getClass() != o.getClass()) return false;

 

        SouvcAuthoritiesEntity that = (SouvcAuthoritiesEntity) o;

 

        if (username != null ? !username.equals(that.username) : that.username != null) return false;

        if (authority != null ? !authority.equals(that.authority) : that.authority != null) return false;

 

        return true;

    }

 

    @Override

    public int hashCode() {

        int result = username != null ? username.hashCode() : 0;

        result = 31 * result + (authority != null ? authority.hashCode() : 0);

        return result;

    }

}
hibenate 주 프로필

<?xml version='1.0' encoding='utf-8'?>
 
<!DOCTYPE hibernate-configuration PUBLIC
 
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
 
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
 
<hibernate-configuration>
 
    <session-factory>
 
        <!-- Database connection settings -->
 
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
 
        <property name="connection.url">jdbc:mysql://localhost:3306/test</property>
 
        <!-- JDBC connection pool (use the built-in) -->
 
        <!--
 
        <property name="connection.pool_size">1</property>
 
         -->
 
        <!-- SQL dialect -->
 
        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
 
        <!-- Enable Hibernate's automatic session context management -->
 
        <property name="current_session_context_class">thread</property>
 
 
 
        <!-- Echo all executed SQL to stdout -->
 
        <property name="show_sql">true</property>
 
        <mapping class="com.souvc.entity.SouvcAuthoritiesEntity"/>
 
        <mapping resource="com/souvc/entity/SouvcAuthoritiesEntity.hbm.xml"/>
 
        <mapping resource="com/souvc/entity/SouvcCustomEntity.hbm.xml"/>
 
        <mapping class="com.souvc.entity.SouvcCustomEntity"/>
 
        <mapping class="java.lang.String"/>
 
        <mapping resource="java/lang/java.lang.String.hbm.xml"/>
 
        <mapping class="com.souvc.entity.SouvcRcDataDictionaryEntity"/>
 
        <mapping resource="com/souvc/entity/SouvcRcDataDictionaryEntity.hbm.xml"/>
 
        <mapping class="com.souvc.entity.SouvcRcDataDictionaryListEntity"/>
 
        <mapping resource="com/souvc/entity/SouvcRcDataDictionaryListEntity.hbm.xml"/>
 
        <mapping class="com.souvc.entity.SouvcRcEmailAccountInfoEntity"/>
 
        <mapping resource="com/souvc/entity/SouvcRcEmailAccountInfoEntity.hbm.xml"/>
 
        <mapping class="com.souvc.entity.SouvcRcEmailInfoEntity"/>
 
        <mapping resource="com/souvc/entity/SouvcRcEmailInfoEntity.hbm.xml"/>
 
        <mapping class="com.souvc.entity.SouvcRcPermissionEntity"/>
 
        <mapping resource="com/souvc/entity/SouvcRcPermissionEntity.hbm.xml"/>
 
        <mapping resource="com/souvc/entity/SouvcRcRoleEntity.hbm.xml"/>
 
        <mapping class="com.souvc.entity.SouvcRcRoleEntity"/>
 
        <mapping class="com.souvc.entity.SouvcRcRolePermissionsEntity"/>
 
        <mapping resource="com/souvc/entity/SouvcRcRolePermissionsEntity.hbm.xml"/>
 
        <mapping class="com.souvc.entity.SouvcRcUserEntity"/>
 
        <mapping resource="com/souvc/entity/SouvcRcUserEntity.hbm.xml"/>
 
        <mapping class="com.souvc.entity.SouvcRcUserLoginLogsEntity"/>
 
        <mapping resource="com/souvc/entity/SouvcRcUserLoginLogsEntity.hbm.xml"/>
 
        <mapping class="com.souvc.entity.SouvcRcUserRoleEntity"/>
 
        <mapping resource="com/souvc/entity/SouvcRcUserRoleEntity.hbm.xml"/>
 
        <mapping class="com.souvc.entity.SouvcRoleEntity"/>
 
        <mapping resource="com/souvc/entity/SouvcRoleEntity.hbm.xml"/>
 
        <mapping class="com.souvc.entity.SouvcUserEntity"/>
 
        <mapping resource="com/souvc/entity/SouvcUserEntity.hbm.xml"/>
 
        <mapping class="com.souvc.entity.SouvcUserRoleEntity"/>
 
        <mapping resource="com/souvc/entity/SouvcUserRoleEntity.hbm.xml"/>
 
        <mapping class="com.souvc.entity.SouvcUsersEntity"/>
 
        <mapping resource="com/souvc/entity/SouvcUsersEntity.hbm.xml"/>
 
        <!-- Drop and re-create the database schema on startup -->
 
        <!--
 
        <property name="hbm2ddl.auto">update</property>
 
        -->
 
 
 
    </session-factory>
 
</hibernate-configuration>
다른 프로필,

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
    <class name="com.souvc.entity.SouvcAuthoritiesEntity" table="authorities" schema="test">
        <property name="username">
            <column name="username" sql-type="varchar(50)" length="50"/>
        </property>
        <property name="authority">
            <column name="authority" sql-type="varchar(50)" length="50"/>
        </property>
    </class>
</hibernate-mapping>

STEP 7:수정.
만약 아직 프로젝트 의 요구 에 부합 되 지 않 는 다 면,우 리 는 스스로 수정 할 수 있다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기