IntelliJ IDEA 에서 Hibernate 맵 파일 및 실체 클래스 자동 생 성

1.프로젝트 를 구축 하고 프로젝트 구조 설정 과 초기 매개 변 수 를 추가 합 니 다.
1.1 그림 과 같이 기본 적 인 선반 을 잘 구축한다.

1.2 File 을 클릭 하고 팝 업 메뉴 에서 Project Structure 를 클릭 합 니 다.
1.3.왼쪽 에 있 는 Modules 를 클릭 하고'+'번 호 를 클릭 한 다음 에 팝 업 메뉴 에서 Hibernate 를 선택 합 니 다.

1.4.이때 프로젝트 에 Hibernate 가 하나 더 생 겼 습 니 다.Hibernate 를 클릭 하고'+'번 호 를 클릭 하여 hibernate.hbm.xml 를 선택 하 십시오.

1.5.팝 업 창 에서 Hibernate 버 전 을 선택 하고 OK 를 클릭 합 니 다.

1.6.OK 를 클릭 한 후 원래 1.4 단계 의 창 에 있 는 Apply 는 여자 에 따라 프로젝트 에 적 용 됩 니 다.
1.7.이때 프로젝트 프레임 에 hibenate.hbm.xml 라 는 프로필 이 하나 더 나 왔 습 니 다.

1.8.hibenate.hbm.xml 에 다음 설정 을 설정 합 니 다.

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
  "-//Hibernate/Hibernate Configuration DTD//EN"
  "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
 <session-factory>
  <!--     url  -->
  <property name="connection.url">jdbc:mysql://localhost:3306/SSHBlog?useUnicode=true&characterEncoding=utf8&useSSL=true&zeroDateTimeBehavior=convertToNull</property>
  <!--       -->
  <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
  <!--        -->
  <property name="connection.username">root</property>
  <!--       -->
  <property name="connection.password"></property>
 
  <!-- DB schema will be updated if needed -->
  <!-- <property name="hbm2ddl.auto">update</property> -->
 </session-factory>
</hibernate-configuration>
1.9.첫 번 째 설정 이 완료 되 었 습 니 다.
2.데이터베이스 설정
2.1 왼쪽 아래 단 추 를 누 르 면 창 스타일 이 그림 과 같 습 니 다.

2.2.데이터 베 이 스 를 선택한다.

2.4.데이터 베 이 스 를 설정 한 후 연결 이 성 공 했 는 지 테스트 하고 성공 하면 확인 을 클릭 합 니 다.

2.5.데이터 베 이 스 는 다음 과 같다.

3.Hibernate 의 실체 클래스 와 프로필 생 성
3.1.창의 Persistence 를 클릭 합 니 다.

3.2 Persistence 에서 항목 을 오른쪽 클릭 한 다음 Generate Persistence Mapping 을 클릭 하고 By Database Schema 를 선택 합 니 다.

3.3.데이터 원본 을 선택 하고 실체 패 키 지 를 설정 하 며 생 성 할 실체 클래스(그 중에서 날짜 유형 은 자바 util.Date 로 수 동 으로 만 수정 할 수 있 음)를 선택 한 다음 에 OK 를 클릭 합 니 다.

3.4.일정 시간 을 기다 린 후에 프로젝트 의 실체 클래스 와 설정 파일 이 자동 으로 생 성 된 것 을 발견 합 니 다.

3.5.생 성 된 실체 류 와 프로필 은 다음 과 같다.실체 클래스:Contacts.java

package com.sshblog.entity;
 
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 
import javax.persistence.*;
import java.util.Date;
 
@Entity
@Table(name = "contacts")
@JsonIgnoreProperties(value = {"hibernateLazyInitializer","handler","operations","roles","menus"})
public class Contacts {
  private int id;
  private String name;
  private String address;
  private String gender;
  private Date dob;
  private String email;
  private Long mobile;
 
  @Id
  @Column(name = "id")
  public int getId() {
    return id;
  }
 
  public void setId(int id) {
    this.id = id;
  }
 
  @Basic
  @Column(name = "name")
  public String getName() {
    return name;
  }
 
  public void setName(String name) {
    this.name = name;
  }
 
  @Basic
  @Column(name = "address")
  public String getAddress() {
    return address;
  }
 
  public void setAddress(String address) {
    this.address = address;
  }
 
  @Basic
  @Column(name = "gender")
  public String getGender() {
    return gender;
  }
 
  public void setGender(String gender) {
    this.gender = gender;
  }
 
  @Basic
  @Column(name = "dob")
  public Date getDob() {
    return dob;
  }
 
  public void setDob(Date dob) {
    this.dob = dob;
  }
 
  @Basic
  @Column(name = "email")
  public String getEmail() {
    return email;
  }
 
  public void setEmail(String email) {
    this.email = email;
  }
 
  @Basic
  @Column(name = "mobile")
  public Long getMobile() {
    return mobile;
  }
 
  public void setMobile(Long mobile) {
    this.mobile = mobile;
  }
 
  @Override
  public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;
 
    Contacts contacts = (Contacts) o;
 
    if (id != contacts.id) return false;
    if (name != null ? !name.equals(contacts.name) : contacts.name != null) return false;
    if (address != null ? !address.equals(contacts.address) : contacts.address != null) return false;
    if (gender != null ? !gender.equals(contacts.gender) : contacts.gender != null) return false;
    if (dob != null ? !dob.equals(contacts.dob) : contacts.dob != null) return false;
    if (email != null ? !email.equals(contacts.email) : contacts.email != null) return false;
    if (mobile != null ? !mobile.equals(contacts.mobile) : contacts.mobile != null) return false;
 
    return true;
  }
 
  @Override
  public int hashCode() {
    int result = id;
    result = 31 * result + (name != null ? name.hashCode() : 0);
    result = 31 * result + (address != null ? address.hashCode() : 0);
    result = 31 * result + (gender != null ? gender.hashCode() : 0);
    result = 31 * result + (dob != null ? dob.hashCode() : 0);
    result = 31 * result + (email != null ? email.hashCode() : 0);
    result = 31 * result + (mobile != null ? mobile.hashCode() : 0);
    return result;
  }
}
프로필:Contacts.hbm.xml

<?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.sshblog.entity.Contacts" table="contacts" schema="SSHBlog">
    <id name="id" column="id"/>
    <property name="name" column="name"/>
    <property name="address" column="address"/>
    <property name="gender" column="gender"/>
    <property name="dob" column="dob"/>
    <property name="email" column="email"/>
    <property name="mobile" column="mobile"/>
  </class>
</hibernate-mapping>
4.IntelliJ IDEA 를 사용 하여 실체 류 를 생 성 하 는 장점
IntelliJ IDEA 의 Hibernate 를 사용 하여 실체 류 를 생 성 하 는 장점 은 인 코딩 을 편리 하 게 하고 인 코딩 효율 을 향상 시 키 는 것 이다.
Eclipse 에 비해 IntelliJ IDEA 는 자체 적 으로 Hibernate 를 가지 고 생 성 되 는 메커니즘 이 고 Eclipse 는 플러그 인 을 다운로드 해 야 합 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기