IntelliJ IDEA下自动生成Hibernate映射文件以及实体类

1、构建项目并添加项目结构配置以及配置初始参数

1.1、如图将基本的架子搭建好

1.2、点击File,弹出的菜单中点击Project Structure;

1.3、点击左侧的Modules,再点击“+”号,再在弹出的菜单中选择Hibernate;

1.4、在这时,项目中多出了一个Hibernate,点击Hibernate,再点击“+”号,选择hibernate.hbm.xml;

1.5、弹出的窗口中选择Hibernate的版本,然后点击OK;

1.6、点击OK后在原来1.4步骤的窗口中的Apply按妞应用到项目;

1.7、这时项目架子中多出了一个名为hibernate.hbm.xml的配置文件;

1.8、在hibernate.hbm.xml中配置如下配置;

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
  "-//Hibernate/Hibernate Configuration DTD//EN"
  "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
 <session-factory>
  <!--数据库连接url配置-->
  <property name="connection.url">jdbc:mysql://localhost:3306/SSHBlog?useUnicode=true&characterEncoding=utf8&useSSL=true&zeroDateTimeBehavior=convertToNull</property>
  <!--数据库驱动配置-->
  <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
  <!--数据库用户名配置-->
  <property name="connection.username">root</property>
  <!--数据库密码配置-->
  <property name="connection.password"></property>

  <!-- DB schema will be updated if needed -->
  <!-- <property name="hbm2ddl.auto">update</property> -->
 </session-factory>
</hibernate-configuration>

1.9、第一步配置完毕。

2、配置数据库

2.1、点击左下角按钮,使窗口样式如图所示;

2.2、选择数据库;

2.4、配置数据库后测试连接是否成功,若成功后点击确定;

2.5、数据库如下;

3、生成Hibernate的实体类以及配置文件

3.1、点击窗口中的Persistence;

3.2、在Persistence中右键项目,然后点击Generate Persistence Mapping,选择By Database Schema;

3.3、选择数据源,配置实体类包,选择要生成的实体类(其中日期类型的只能手动修改为java.util.Date),然后点击OK;

3.4、等待一段时间之后,发现项目中的实体类以及配置文件已经自动生成。

3.5、生成的实体类以及配置文件如下所示;实体类:Contacts.java

package com.sshblog.entity;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

import javax.persistence.*;
import java.util.Date;

@Entity
@Table(name = "contacts")
@JsonIgnoreProperties(value = {"hibernateLazyInitializer","handler","operations","roles","menus"})
public class Contacts {
  private int id;
  private String name;
  private String address;
  private String gender;
  private Date dob;
  private String email;
  private Long mobile;

  @Id
  @Column(name = "id")
  public int getId() {
    return id;
  }

  public void setId(int id) {
    this.id = id;
  }

  @Basic
  @Column(name = "name")
  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  @Basic
  @Column(name = "address")
  public String getAddress() {
    return address;
  }

  public void setAddress(String address) {
    this.address = address;
  }

  @Basic
  @Column(name = "gender")
  public String getGender() {
    return gender;
  }

  public void setGender(String gender) {
    this.gender = gender;
  }

  @Basic
  @Column(name = "dob")
  public Date getDob() {
    return dob;
  }

  public void setDob(Date dob) {
    this.dob = dob;
  }

  @Basic
  @Column(name = "email")
  public String getEmail() {
    return email;
  }

  public void setEmail(String email) {
    this.email = email;
  }

  @Basic
  @Column(name = "mobile")
  public Long getMobile() {
    return mobile;
  }

  public void setMobile(Long mobile) {
    this.mobile = mobile;
  }

  @Override
  public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;

    Contacts contacts = (Contacts) o;

    if (id != contacts.id) return false;
    if (name != null ? !name.equals(contacts.name) : contacts.name != null) return false;
    if (address != null ? !address.equals(contacts.address) : contacts.address != null) return false;
    if (gender != null ? !gender.equals(contacts.gender) : contacts.gender != null) return false;
    if (dob != null ? !dob.equals(contacts.dob) : contacts.dob != null) return false;
    if (email != null ? !email.equals(contacts.email) : contacts.email != null) return false;
    if (mobile != null ? !mobile.equals(contacts.mobile) : contacts.mobile != null) return false;

    return true;
  }

  @Override
  public int hashCode() {
    int result = id;
    result = 31 * result + (name != null ? name.hashCode() : 0);
    result = 31 * result + (address != null ? address.hashCode() : 0);
    result = 31 * result + (gender != null ? gender.hashCode() : 0);
    result = 31 * result + (dob != null ? dob.hashCode() : 0);
    result = 31 * result + (email != null ? email.hashCode() : 0);
    result = 31 * result + (mobile != null ? mobile.hashCode() : 0);
    return result;
  }
}

配置文件:Contacts.hbm.xml

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-mapping PUBLIC
  "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
  "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>

  <class name="com.sshblog.entity.Contacts" table="contacts" schema="SSHBlog">
    <id name="id" column="id"/>
    <property name="name" column="name"/>
    <property name="address" column="address"/>
    <property name="gender" column="gender"/>
    <property name="dob" column="dob"/>
    <property name="email" column="email"/>
    <property name="mobile" column="mobile"/>
  </class>
</hibernate-mapping>

4、使用IntelliJ IDEA生成实体类的好处

使用IntelliJ IDEA的Hibernate生成实体类的好处是方便编码,提升编码效率;

相比较Eclipse而言,IntelliJ IDEA自带Hibernate生成的机制,而Eclipse则需要下载插件。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

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

    第一步:新建一个Maven项目.项目的名称为JpaDemo. 我这里是通过idea插件对应的spring项目生成器https://start.spring.io,直接生成项目.如图: 下一步,修改成对应项目的基本信息.如图: 选择相应的依赖jar包. 选择项目的位置 完成创建 温馨提示,之前需要安装好maven. 第二步:配置数据库连接. 选择Mysql. 配置数据库基本信息 其实配置了这个数据库连接之后,是可以直接通过脚本进行导出数据库实体类了,但是这个导出的实体类比较简陋,需要进行修改比较多

  • IDEA快速生成实体类的示例教程

    不多说,直接上步骤: ① idea左侧有个dataBase ② ③ 1处填写数据库连接的必要信息,填写完成后点击2可以测试你填的信息是否正确,没问题就点apply ④ 选择你要生成实体的对应的表,右键,生成的实体的属性是以驼峰命名的,例如sl_user表里有个字段叫user_id,那么生成的属性名就是userId ⑤ 选择你要把生成的实体类文件放在哪个包路径下 ⑥ 如果生成的类名不符合你所在项目的命名规则,可以ctrl+shift_R 重命名.生成的属性的属性类型有些不是自己想要的,可以选择属性

  • IntelliJ IDEA下自动生成Hibernate映射文件以及实体类

    1.构建项目并添加项目结构配置以及配置初始参数 1.1.如图将基本的架子搭建好 1.2.点击File,弹出的菜单中点击Project Structure: 1.3.点击左侧的Modules,再点击"+"号,再在弹出的菜单中选择Hibernate: 1.4.在这时,项目中多出了一个Hibernate,点击Hibernate,再点击"+"号,选择hibernate.hbm.xml: 1.5.弹出的窗口中选择Hibernate的版本,然后点击OK: 1.6.点击OK后在原

  • 深入浅出MyBatis中映射文件和实体类的关联性

    mybatis的映射文件写法多种多样,不同的写法和用法,在实际开发过程中所消耗的开发时间.维护时间有很大差别,今天我就把我认为比较简单的一种映射文件写法记录下来,供大家修改建议,争取找到一个最优写法~~: 以User对象和UserMap.xml为例讲解,代码如下: User为用户实体类(仅作为讲解,可以只关注引用类型变量,get/set方法省略): import com.google.common.collect.Lists; import com.gukeer.common.persisten

  • Eclipse下编写java程序突然不会自动生成R.java文件和包的解决办法

    下面给大家介绍几种比较常见的解决办法,具体内容如下: 1.有时候eclipse不自动编译,把project clean一下,让R.java重新生成 2.选择菜单 Project >> Clean ,前提是勾选上 Bulid Automatically(自动构建部署) , 点Clean后会重新构建项目,因为一般情况下,R.java文件在这个时候会重新更新生成一边,如果工程有错,就不会自动生成. 3.选择工程,右键 Android Tools >> Fix Project Proper

  • Hibernate映射文件id的generator配置方法

    可选的<generator>子元素是 一个Java类的名称,用来生成该持久化类实例的唯一标识符.如果这个生成器实例需要某些配置值或者初始化参数,可以使用<param>元素来传递这些参数. 所有的生成器都实现了org.hibernate.id.IdentifierGenerator接口.这是一个非常简单的接口:某些应用程序可以选择提供他们自己特定的实现.当然,Hibernate提供了很多内置的实现. 下面是一些内置生成器的快捷名字: increment(递增) 用于为long, sh

  • 详述IntelliJ IDEA 中自动生成 serialVersionUID 的方法(图文)

    serialVersionUID介绍 再编程过程中当涉及到对象的传输问题时,我们会采用序列化的技术,通过序列化可以将对象的状态信息转换为可以存储或传输的形式的过程.在Java当中我们可以通过实现Serializable接口来序列化对象,而serialVersionUID就是Java序列化机制中一个不可或缺的角色,可以通过在运行时判断类的serialVersionUID来验证版本一致性.在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialV

  • 使用 webpack 插件自动生成 vue 路由文件的方法

    一款自动生成 vue 路由文件的 webpack 插件 vue-route-webpack-plugin在项目中试点成功了,现在在项目中已经不需要再维护路由配置文件了,由插件自动生成,节省了大家维护路由的时间. 从长远来看,使用插件自动生成路由是具有一定好处的.当项目中的路由配置非常多的时候,为了区分业务,你可能需要分成许多个文件来存放这些路由文件,这样就不得不去维护这些路由文件. 比如这样的路由文件结构: |-src/ |-router/ index.js childrenRouter.js

  • android自动生成dimens适配文件的图文教程详解(无需Java工具类)

    在编写ui界面时因为手机分辨率大小不同,所以展现出来的效果也是不同的,这个时候就需要考虑适配器,让根据手机分辨率自动适配相应尺寸来展示界面,可以提高用户的体验感. 1.首先安装插件ScreenMatch,安装成功之后android studio会提示重启 2.在res->values下创建一个dimens文件,将以下代码复制进去.如果不创建这个文件一下操作会不成功导致项目重启. <dimen name="common_margin">@dimen/dp_15</

  • VsCode中ctrl+s后会在当前目录下自动生成dist目录的方法

    在VsCode中ctrl+s后会在当前目录下自动生成dist目录 解决办法:关闭compile-hero插件 在设置中搜索compile-hero插件 关闭所有自动生成dist目录的选项(如下图所示) PS:下面看下vue项目Ctrl+s vscode代码自动格式化 前言 多人开发vue项目,代码风格形式不一 vscode保存代码,自动按照eslint规范格式化代码设置(vscode最新版配置) vscode插件 首先vscode需要装一些vscode插件 ESLint.Vetur.Pretti

  • 如何使用IDEA的groovy脚本文件生成带JPA注解的实体类(图文详解)

    牛逼!IDEA不愧为神器,结合Groovy脚本,简直天下无敌,如今, 有许许多多的插件或者编辑器都支持根据数据表自动生成数据实体类了, 比如IDEA, 各种MyBatis的代码生成工具, 等等:本篇介绍一下如何使用IDEA的groovy脚本文件生成带JPA注解的实体类. # 使用IDEA连接数据库 注意 正式版IDEA才有此功能, 社区版木有 演示图片使用的IDEA版本为2018.3, 不同版本界面可能有细小差别 1.创建新的数据连接 如果没有, 可以上方菜单栏: 视图-工具窗口-Databas

  • php可生成缩略图的文件上传类实例

    本文实例讲述了php可生成缩略图的文件上传类及其用法.分享给大家供大家参考.具体实现方法如下: 类文件调用方法如下: 复制代码 代码如下: <?php if ($_GET['action'] == 'save') {                     $up = new upload();             $up->set_dir(dirname(__FILE__).'/upload/','{y}/{m}');             $up->set_thumb(100,

随机推荐