Intellij IDEA 는 데이터베이스 테이블 을 통 해 주석 이 있 는 실체 클래스 를 어떻게 생 성 합 니까?
저 는 아이디어 플러그 인 을 통 해 대응 하 는 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:수정.
만약 아직 프로젝트 의 요구 에 부합 되 지 않 는 다 면,우 리 는 스스로 수정 할 수 있다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Gradle + Kotlin + Thymeleaf에서 Hello World평소에는 toB의 업무 시스템을 만들고 있습니다. 사내에서의 기술의 업데이드가 없기 때문에 개인적으로 여러가지 배우려고 생각해, 처음에 Spring Boot로 간단한 프로젝트를 만들려고 했습니다만 생각보다 걸리거나 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.