IDEA 生成 JPA实体类

文章目录

    • 1、创建工程
    • 2、连接数据源
    • 3、生成`JPA`实体类
    • 4、生成实体类结果

1、创建工程

  • 使用Maven来构建工程,为了简化创建步骤
    在这里插入图片描述
  • 创建一个新工程不包含任何Maven模板,[按需添加]
    IDEA 生成 JPA实体类_第1张图片
  • 命名 GroupId、ArifactId
    IDEA 生成 JPA实体类_第2张图片
  • 默认即可,点击Finish
    IDEA 生成 JPA实体类_第3张图片
  • 主界面右下角选择Auto-Import
    IDEA 生成 JPA实体类_第4张图片

2、连接数据源

  • 如下图,打开Database
    IDEA 生成 JPA实体类_第5张图片
  • Database界面,点击+按钮打开数据源界面
    IDEA 生成 JPA实体类_第6张图片
  • 建立数据源,设置namehostdatabaseuserpassword,测试连接Test Connection
    IDEA 生成 JPA实体类_第7张图片
  • 连接成功
    IDEA 生成 JPA实体类_第8张图片

3、生成JPA实体类

  • 打开Project Strueture,选中Modules,点击+添加JPA模块
    IDEA 生成 JPA实体类_第9张图片
    IDEA 生成 JPA实体类_第10张图片
  • 打开 Persistence,右击依次选择Generate Persistence MappingBy Database Schema打开Import Database Schema窗口
    IDEA 生成 JPA实体类_第11张图片
  • 按下图红框,箭头指示操作,依次点击OKyes按钮
    IDEA 生成 JPA实体类_第12张图片

4、生成实体类结果

  • java/com.testjpa包下面生成两个文件,分别是:
    IDEA 生成 JPA实体类_第13张图片
  • UserEntity实体类内容
package com.testjpa;

import javax.persistence.*;

@Entity
@Table(name="user", schema="mypro", catalog="")
public class UserEntity {
    private Integer id;
    private String name;
    private String profession;

    @Id
    @Column(name="id", nullable=false)
    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id=id;
    }

    @Basic
    @Column(name="name", nullable=false, length=20)
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name=name;
    }

    @Basic
    @Column(name="profession", nullable=true, length=20)
    public String getProfession() {
        return profession;
    }

    public void setProfession(String profession) {
        this.profession=profession;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        UserEntity that=(UserEntity) o;

        if (id != null ? !id.equals(that.id) : that.id != null) return false;
        if (name != null ? !name.equals(that.name) : that.name != null) return false;
        if (profession != null ? !profession.equals(that.profession) : that.profession != null) return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result=id != null ? id.hashCode() : 0;
        result=31 * result + (name != null ? name.hashCode() : 0);
        result=31 * result + (profession != null ? profession.hashCode() : 0);
        return result;
    }
}
  • UserEntity.xml文件内容

<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
        version="2.0">

    <entity class="com.testjpa.UserEntity">
        <table name="user" schema="mypro" catalog=""/>
        <attributes>
            <id name="id">
                <column name="id" precision="11"/>
            id>
            <basic name="name">
                <column name="name" length="20"/>
            basic>
            <basic name="profession">
                <column name="profession" nullable="false" length="20"/>
            basic>
        attributes>
    entity>
entity-mappings>

你可能感兴趣的:(Java,IDEA)