Intellij IDEA 如何通过数据库表生成带注解的实体类(图文详细教程)
第一步:新建一个Maven项目。项目的名称为JpaDemo。
我这里是通过idea插件对应的spring项目生成器https://start.spring.io,直接生成项目。如图:
下一步,修改成对应项目的基本信息。如图:
选择相应的依赖jar包。
选择项目的位置
完成创建
温馨提示,之前需要安装好maven。
第二步:配置数据库连接。
选择Mysql。
配置数据库基本信息
其实配置了这个数据库连接之后,是可以直接通过脚本进行导出数据库实体类了,但是这个导出的实体类比较简陋,需要进行修改比较多,或是需要自己进行修改生成脚本语句。如:
通过generatePOJOs.clj即可导出实体类。
需要选一下实体类放置的地方。
效果如下:
但是以上的实体类没有带注解。那么我们通过项目中用到hibernate,或是jpa需要加注解怎么办,总不能一个个注解加上去吧。idea当然不会这么干啦。
使用IntelliJIDEA快编码速度:我们程序员的工作不是写程序,而是写程序解决问题。那我们删了之前生成的实体类。我们重新生成一份带注解的实体类。
第三步:配置hibernate文件。
如果没有配置该配置文件,idea则没有显示出生成实体类的工具选项。
配置一下hibernate配置文件。
在资源文件下新建一个hibernate.cfg.xml配置文件。并输入以下内容。
com.mysql.jdbc.Driver jdbc:mysql://localhost/test root 123456 org.hibernate.dialect.MySQLDialect thread true
如图:
第四步:调出idea实体类生成工具。
调出生成实体类的配置工具
保存后。在主面板左侧有persistence,在hibernate图标上点击右键-GeneratePersistenceMapping-ByDatabaseScheme。
一开始是没有选中数据源的。
配置选项
(1)数据源选择
(2)生成实体类的位置
(3)实体类的前缀和后缀
(4)可以全选表,或是全不选表
(5)可以生成hibernate的实体类对应的xml文件
(6)展开表之后可以修改对应之间的类型。
第五步:选中需要执行的数据库表。
第六步:查看导出的效果。
生成过程
导出的结果
可以查看其中的一个实体类,看看效果。
packagecom.souvc.entity; importjavax.persistence.Basic; importjavax.persistence.Column; importjavax.persistence.Entity; importjavax.persistence.Table; /** *CreatedbyAdministratoron2017/3/22. */ @Entity @Table(name="authorities",schema="test",catalog="") publicclassSouvcAuthoritiesEntity{ privateStringusername; privateStringauthority; @Basic @Column(name="username",nullable=false,length=50) publicStringgetUsername(){ returnusername; } publicvoidsetUsername(Stringusername){ this.username=username; } @Basic @Column(name="authority",nullable=false,length=50) publicStringgetAuthority(){ returnauthority; } publicvoidsetAuthority(Stringauthority){ this.authority=authority; } @Override publicbooleanequals(Objecto){ if(this==o)returntrue; if(o==null||getClass()!=o.getClass())returnfalse; SouvcAuthoritiesEntitythat=(SouvcAuthoritiesEntity)o; if(username!=null?!username.equals(that.username):that.username!=null)returnfalse; if(authority!=null?!authority.equals(that.authority):that.authority!=null)returnfalse; returntrue; } @Override publicinthashCode(){ intresult=username!=null?username.hashCode():0; result=31*result+(authority!=null?authority.hashCode():0); returnresult; } }
hibernate主配置文件
com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/test org.hibernate.dialect.MySQLDialect thread true
其他配置文件、
第七步:修正。
如果还没有符合项目的要求,那么我们可以自己进行修改一下。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。