Eclipse中利用JPA Tools自动生成带注解的实体类

一、打开数据库信息浏览器视图框:Window -->Show View -->Other..

二、搜索数据库信息浏览器,使用Data 关键字就可以搜索出来:Data Source Explorer 

 

三、打开数据库信息浏览器视图,如下:

四、新建一个数据库连接:右键 --> New... 

五、我这里使用MySQL数据库,所以选择新建MySQL数据库连接:

六、新建数据库连接,需要加载数据库驱动,点击图示按钮,选择一个MySQL数据库驱动:

七、默认是无法加载数据库驱动的,如下:找不到默认相关版本的数据库驱动

八、想要添加一个数据库驱动,首先将默认的JAR List 中的数据库驱动移除(Remove...),然后再添加一个(Add...)

九、通过按钮Add JAR/Zip... 在本地仓库中,找到一个数据库驱动,加载到目录中:如下图:我的本地仓库位置为F:

十一、上一步点击OK按钮以后,回到填写数据库连接信息页面,如下图,填写数据库连接信息:

十二、按钮Test Connection 可以测试数据库连接信息是否正确:如下图,正确连接效果

十三、数据库信息浏览器新建一个数据库连接后的目录结构图,如下:

十四、新建一个普通的java工程,比如generator-entity(实体类生成在该工程中)

十五、右击该工程,打开属性,选择Project Facets选项,选中JPA复选框,此时Apply and Close按钮还是灰色的,无法点击。

十六、配置

十七、选择数据库连接:

十八、继续操作如下:

十九、配置完成,继续操作:

二十、工程目录变为如下图:

二十一、右键工程,使用JPA Tools 将数据库表生成实体类:

二十二、选择想要生成的数据库表:

二十三、设置主键生成策略,MySQL数据库主键自增即可,所以我这里选择identity,就是自增。设置生成的实体类所在的包名。

二十四、对将要生成的实体类进行细致的调整,比如字段对应的属性类型

例如,更改属性的类型:

二十五、生成的实体类,如下图:

  为什么会报错呢?

因为我们没有添加hibernate的驱动,所以会提示生成的实体类中使用的注解找不到jar包。不用管它,因为我们主要是为了生成实体类。

 

package cn.com.winson;

import java.io.Serializable;
import javax.persistence.*;


/**
 * The persistent class for the t_user database table.
 * 
 */
@Entity
@Table(name="t_user")
@NamedQuery(name="TUser.findAll", query="SELECT t FROM TUser t")
public class TUser implements Serializable {
    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    @Column(name="t_id")
    private int tId;

    @Column(name="t_address")
    private String tAddress;

    @Column(name="t_age")
    private Integer tAge;

    @Column(name="t_name")
    private String tName;

    @Column(name="t_pwd")
    private String tPwd;

    @Column(name="t_sex")
    private String tSex;

    public TUser() {
    }

    public int getTId() {
        return this.tId;
    }

    public void setTId(int tId) {
        this.tId = tId;
    }

    public String getTAddress() {
        return this.tAddress;
    }

    public void setTAddress(String tAddress) {
        this.tAddress = tAddress;
    }

    public Integer getTAge() {
        return this.tAge;
    }

    public void setTAge(Integer tAge) {
        this.tAge = tAge;
    }

    public String getTName() {
        return this.tName;
    }

    public void setTName(String tName) {
        this.tName = tName;
    }

    public String getTPwd() {
        return this.tPwd;
    }

    public void setTPwd(String tPwd) {
        this.tPwd = tPwd;
    }

    public String getTSex() {
        return this.tSex;
    }

    public void setTSex(String tSex) {
        this.tSex = tSex;
    }

}

  总结:

  以上就是通过JPA Tools 将数据库表自动生成实体类的方法,这种方法也称为逆向生成实体类。

  实际开发时,本例可以当成一个模板来使用,你只需要更改数据库连接信息,以此连接不同的数据库,就可以生成不同的数据库表实体类,很方便的。

  使用该方法生成实体类,再使用Spring Data JPA 来做持久化数据操作,你会发现这套方法很使用,效率很高。

码云地址:https://gitee.com/top_one/generator-entity.git

补充一下:将工程报错的问题解决一下吧,否则一直报错,看起来影响心情:

添加hibernate相关的jar就可以完全解除报错:

一、右键工程 --> Properties --> Java Build Path --> Libraries --> Add External JARs... 选择hibernate相关的jar,需要添加三个 jar,分别为:如下截图:

二、添加以后,就不报错了,如下工程目录结构:

原文地址:https://www.cnblogs.com/elnimo/p/10119700.html