微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Intellij IDEA 如何通过数据库表生成带注解的实体类(图文详细教程)

这篇文章主要介绍了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                       

如图:

第四步:调出idea实体类生成工具。

调出生成实体类的配置工具

保存后。在主面板左侧有persistence,在hibernate图标上点击右键-Generate Persistence Mapping-By Database Scheme。

一开始是没有选中数据源的。

配置选项

(1)数据源选择

(2)生成实体类的位置

(3)实体类的前缀和后缀

(4)可以全选表,或是全不选表

(5)可以生成hibernate的实体类对应的xml文件

(6)展开表之后可以修改对应之间的类型。

第五步:选中需要执行的数据库表。

第六步:查看导出的效果

生成过程

导出的结果

可以查看其中的一个实体类,看看效果

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">                                                                        

第七步:修正。

如果还没有符合项目的要求,那么我们可以自己进行修改一下。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐