这篇文章主要介绍了Intellij IDEA 如何通过数据库表生成带注解的实体类(图文详细教程),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
第一步:新建一个Maven项目。项目的名称为JpaDemo。
我这里是通过idea插件对应的spring项目生成器https://start.spring.io,直接生成项目。如图:
下一步,修改成对应项目的基本信息。如图:
选择相应的依赖jar包。
选择项目的位置
完成创建
温馨提示,之前需要安装好maven。
第二步:配置数据库连接。
选择MysqL。
配置数据库基本信息
其实配置了这个数据库连接之后,是可以直接通过脚本进行导出数据库实体类了,但是这个导出的实体类比较简陋,需要进行修改比较多,或是需要自己进行修改生成脚本语句。如:
通过generate POJOs.clj即可导出实体类。
需要选一下实体类放置的地方。
效果如下:
但是以上的实体类没有带注解。那么我们通过项目中用到hibernate,或是jpa需要加注解怎么办,总不能一个个注解加上去吧。idea当然不会这么干啦。
使用IntelliJ IDEA快编码速度:我们程序员的工作不是写程序,而是写程序解决问题。那我们删了之前生成的实体类。我们重新生成一份带注解的实体类。
第三步:配置hibernate文件。
如果没有配置该配置文件,idea则没有显示出生成实体类的工具选项。
配置一下hibernate配置文件。
在资源文件下新建一个hibernate.cfg.xml配置文件。并输入以下内容。
nbsp; "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> com.MysqL.jdbc.Driver jdbc:MysqL://localhost/test root 123456 org.hibernate.dialect.MysqLDialect thread true
如图:
保存后。在主面板左侧有persistence,在hibernate图标上点击右键-Generate Persistence Mapping-By Database Scheme。
一开始是没有选中数据源的。
配置选项
(1)数据源选择
(3)实体类的前缀和后缀
(4)可以全选表,或是全不选表
第五步:选中需要执行的数据库表。
第六步:查看导出的效果。
生成过程
导出的结果
package com.souvc.entity; import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; /** * Created by Administrator on 2017/3/22. */ @Entity @Table(name = "authorities", schema = "test", catalog = "") public class SouvcAuthoritiesEntity { private String username; private String authority; @Basic @Column(name = "username", nullable = false, length = 50) public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } @Basic @Column(name = "authority", nullable = false, length = 50) public String getAuthority() { return authority; } public void setAuthority(String authority) { this.authority = authority; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; SouvcAuthoritiesEntity that = (SouvcAuthoritiesEntity) o; if (username != null ? !username.equals(that.username) : that.username != null) return false; if (authority != null ? !authority.equals(that.authority) : that.authority != null) return false; return true; } @Override public int hashCode() { int result = username != null ? username.hashCode() : 0; result = 31 * result + (authority != null ? authority.hashCode() : 0); return result; } }
hibernate主配置文件
nbsp; "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> com.MysqL.jdbc.Driver jdbc:MysqL://localhost:3306/test org.hibernate.dialect.MysqLDialect thread true
其他配置文件 、
nbsp; "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
第七步:修正。
如果还没有符合项目的要求,那么我们可以自己进行修改一下。