一、打开数据库信息浏览器视图框: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,分别为:如下截图:
二、添加以后,就不报错了,如下工程目录结构: