idea 从数据库快速生成Spring Data JPA实体类
第一步,调出 Persistence 窗口.
File—>Project Structure—>model—> + —>JPA
第二步:打开 Persistence窗口
配置 生成实体类的参数
如图:
-
1.数据源,即链接数据库的信息,按要求填写数据库信息即可
-
2.生成实体类的位置.
-
3.实体类名称前缀.这里我什么都没写.
-
4.实体类名称后缀. 这里我写Entity. 比如数据库表名为 user,那么生成实体类为 UserEntity
-
5.选择哪些表的哪些字段生成实体类.这里我全选.
-
6.生成的实体类自动添加 JPA注解.
最后点击ok,就能在我们的项目下看到生成的实体类
如:
package com.itguang.weixinsell.entity;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.sql.Timestamp;
/**
* @author itguang
* @create 2017-11-25 14:02
**/
@Entity
@Table(name = "product_category", schema = "sell", catalog = "")
public class ProductCategoryEntity {
private int categoryId;
private String categoryName;
private int categoryType;
private Timestamp createTime;
private Timestamp updateTime;
@Id
@Column(name = "category_id")
public int getCategoryId() {
return categoryId;
}
public void setCategoryId(int categoryId) {
this.categoryId = categoryId;
}
@Basic
@Column(name = "category_name")
public String getCategoryName() {
return categoryName;
}
public void setCategoryName(String categoryName) {
this.categoryName = categoryName;
}
@Basic
@Column(name = "category_type")
public int getCategoryType() {
return categoryType;
}
public void setCategoryType(int categoryType) {
this.categoryType = categoryType;
}
@Basic
@Column(name = "create_time")
public Timestamp getCreateTime() {
return createTime;
}
public void setCreateTime(Timestamp createTime) {
this.createTime = createTime;
}
@Basic
@Column(name = "update_time")
public Timestamp getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Timestamp updateTime) {
this.updateTime = updateTime;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
ProductCategoryEntity that = (ProductCategoryEntity) o;
if (categoryId != that.categoryId) return false;
if (categoryType != that.categoryType) return false;
if (categoryName != null ? !categoryName.equals(that.categoryName) : that.categoryName != null) return false;
if (createTime != null ? !createTime.equals(that.createTime) : that.createTime != null) return false;
if (updateTime != null ? !updateTime.equals(that.updateTime) : that.updateTime != null) return false;
return true;
}
@Override
public int hashCode() {
int result = categoryId;
result = 31 * result + (categoryName != null ? categoryName.hashCode() : 0);
result = 31 * result + categoryType;
result = 31 * result + (createTime != null ? createTime.hashCode() : 0);
result = 31 * result + (updateTime != null ? updateTime.hashCode() : 0);
return result;
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构