我有一个mysql数据库,有一些数据,我想把它转换成java实体类。我有persistence.xml文件,但我不确定如何做到这一点。我可以对它进行反向工程,并从mysql工作台导出数据,但是在我与数据库建立连接之后,我可以使用netbeans中的函数来实现这一点吗?
qij5mzcb1#
netbeans有一个向导,可以完全按照您的要求执行:在“项目”面板中,在项目中选择要包含实体类的包。右键单击并选择new>entity classes from database。。。从上下文菜单。“从数据库新建实体类”向导将运行。在“数据库表”页上:从数据库连接下拉列表中选择要使用的连接。从“可用表”列表中选择要为其生成实体类的表。单击add>或add all>按钮将表移动到selected tables列表,然后单击next>按钮。在“实体类”页面上,选择所需的任何选项,尽管默认值通常是合适的。单击next>按钮。在“Map选项”页面上,选择所需的任何选项,尽管默认值通常是合适的。单击“完成”按钮。运行向导后,将在所选包中创建实体类。例如:
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package mysql8demo; import java.io.Serializable; import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.Table; import javax.xml.bind.annotation.XmlRootElement; /** * * @author johndoe */ @Entity @Table(name = "country") @XmlRootElement @NamedQueries({ @NamedQuery(name = "Country.findAll", query = "SELECT c FROM Country c") , @NamedQuery(name = "Country.findById", query = "SELECT c FROM Country c WHERE c.id = :id") , @NamedQuery(name = "Country.findByCountryCode", query = "SELECT c FROM Country c WHERE c.countryCode = :countryCode") , @NamedQuery(name = "Country.findByCountryName", query = "SELECT c FROM Country c WHERE c.countryName = :countryName") , @NamedQuery(name = "Country.findByCurrencyCode", query = "SELECT c FROM Country c WHERE c.currencyCode = :currencyCode") , @NamedQuery(name = "Country.findByPopulation", query = "SELECT c FROM Country c WHERE c.population = :population") , @NamedQuery(name = "Country.findByCapital", query = "SELECT c FROM Country c WHERE c.capital = :capital") , @NamedQuery(name = "Country.findByContinent", query = "SELECT c FROM Country c WHERE c.continent = :continent") , @NamedQuery(name = "Country.findByAreaInSqKm", query = "SELECT c FROM Country c WHERE c.areaInSqKm = :areaInSqKm")}) public class Country implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Basic(optional = false) @Column(name = "id") private Integer id; @Basic(optional = false) @Column(name = "countryCode") private String countryCode; @Basic(optional = false) @Column(name = "countryName") private String countryName; @Column(name = "currencyCode") private String currencyCode; @Column(name = "population") private String population; @Column(name = "capital") private String capital; @Column(name = "continent") private String continent; @Column(name = "areaInSqKm") private Integer areaInSqKm; public Country() { } public Country(Integer id) { this.id = id; } public Country(Integer id, String countryCode, String countryName) { this.id = id; this.countryCode = countryCode; this.countryName = countryName; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getCountryCode() { return countryCode; } public void setCountryCode(String countryCode) { this.countryCode = countryCode; } public String getCountryName() { return countryName; } public void setCountryName(String countryName) { this.countryName = countryName; } public String getCurrencyCode() { return currencyCode; } public void setCurrencyCode(String currencyCode) { this.currencyCode = currencyCode; } public String getPopulation() { return population; } public void setPopulation(String population) { this.population = population; } public String getCapital() { return capital; } public void setCapital(String capital) { this.capital = capital; } public String getContinent() { return continent; } public void setContinent(String continent) { this.continent = continent; } public Integer getAreaInSqKm() { return areaInSqKm; } public void setAreaInSqKm(Integer areaInSqKm) { this.areaInSqKm = areaInSqKm; } @Override public int hashCode() { int hash = 0; hash += (id != null ? id.hashCode() : 0); return hash; } @Override public boolean equals(Object object) { // TODO: Warning - this method won't work in the case the id fields are not set if (!(object instanceof Country)) { return false; } Country other = (Country) object; if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) { return false; } return true; } @Override public String toString() { return "mysql8demo.Country[ id=" + id + " ]"; } }
1条答案
按热度按时间qij5mzcb1#
netbeans有一个向导,可以完全按照您的要求执行:
在“项目”面板中,在项目中选择要包含实体类的包。
右键单击并选择new>entity classes from database。。。从上下文菜单。
“从数据库新建实体类”向导将运行。
在“数据库表”页上:
从数据库连接下拉列表中选择要使用的连接。
从“可用表”列表中选择要为其生成实体类的表。
单击add>或add all>按钮将表移动到selected tables列表,然后单击next>按钮。
在“实体类”页面上,选择所需的任何选项,尽管默认值通常是合适的。单击next>按钮。
在“Map选项”页面上,选择所需的任何选项,尽管默认值通常是合适的。单击“完成”按钮。
运行向导后,将在所选包中创建实体类。例如: