• 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,分别为:如下截图:

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

  • 相关阅读:
    GitHub上创建项目
    html5的标签中,哪些是行内元素,哪些是块级元素。
    盒子模型及其他的层次结构关系
    二维码生成
    SSH整合笔记
    Spring回顾
    struts2 测试错题解析
    Java Script基础
    Java OOP考试错题分析
    接口的用法及注意点
  • 原文地址:https://www.cnblogs.com/elnimo/p/10119700.html
Copyright © 2020-2023  润新知