zoukankan      html  css  js  c++  java
  • MyEclipse从数据库反向生成实体类之Hibernate方式 反向工程

    前文:

    hibernate带给我们的O/RMapping思想是很正确的,即从面相对象的角度来设计工程中的实体对象,建立pojo,然后在编写hbm.xml映射文件来生成数据表。但是在实际开发中,往往我们会首先从数据库的设计角度出发来实现我们预期的项目。所以,这里详述从数据库表实体类的生成。

    数据库:MySQL 5.1

    MyEclipse版本:8.0M1

    Hibernate版本:3.2

    首先,我在数据库中建立了如下E-R关系:

    MyEclipse从数据库反向生成实体类之Hibernate方式 <wbr>反向工程

    学生与班级1对多,学生与课程多对多(生成的中间表为:stu_course),学生与身份证:1对1,学生引用身份证主键作为外键(unique)。

    生成的表结构:

    MyEclipse从数据库反向生成实体类之Hibernate方式 <wbr>反向工程

    准备工作已经就绪,下面,我们开始进行反向工程。

    按照下图所示,打开MyEclipse Database Explore视图

    MyEclipse从数据库反向生成实体类之Hibernate方式 <wbr>反向工程

    在空白区点击右键,新建一个数据库对象。
    MyEclipse从数据库反向生成实体类之Hibernate方式 <wbr>反向工程

    点击Add Jars,加入数据库的jar文件。

    填写Connection Url: jdbc:mysql://localhost:3306/hibernatetab2pojo

    用户名和密码:root

    Driver name:  com.mysql.jdbc.Driver

    填写完毕之后,可以点击Test Driver,如果成功,那么接着下一步。

    转回到Java视图,在项目上点击右键,选择MyEclipse-->add Hibernate Capabilities

    MyEclipse从数据库反向生成实体类之Hibernate方式 <wbr>反向工程

    然后下一步选中一个目录存放自动生成hibernate.cfg.xml文件,一般毫无例外的放在src根目录下,下一步选中我们第一步建立的那个数据库对象,然后下一步选中一个目录存放自动生成的HibernateSessionFactory工具类,这个hibernateSessionFactory工具类就是一个获取Session的单例,还有一些其它关闭session之类的方法。
    最后,也是最关键的一步,生成实体类。

    转换到MyEclipse Database Explorer视图,打开我们的数据库:hibernatetab2pojo,展开表,选中所有表:

    MyEclipse从数据库反向生成实体类之Hibernate方式 <wbr>反向工程

    然后,点击右键,选择Hibernate Reverse Engineering。。。

    MyEclipse从数据库反向生成实体类之Hibernate方式 <wbr>反向工程

    选中:Create POJO<>。。。,选中Create a Hibernate。。。,选中Update Hibernate。。。。。,接着下一步。

    MyEclipse从数据库反向生成实体类之Hibernate方式 <wbr>反向工程
    Id Generator:选中native(在我设计的表中,id是自增的,如果想尝试其它的朋友可自行测试)

    选择:Hibernate types

    其它能打勾的都打勾。

    下一步,直接点击finish即可以生成实体类和相应的hbm.xml文件。并且hibernate.cgf.xml也会配置好。

    MyEclipse从数据库反向生成实体类之Hibernate方式 <wbr>反向工程




  • 相关阅读:
    leetcode--Populating Next Right Pointers in Each Node II
    leetcode—Populating Next Right Pointers in Each Node
    Pascal's Triangle II
    leetcode—pascal triangle
    leetcode—triangle
    October 23rd, 2017 Week 43rd Monday
    October 22nd, 2017 Week 43rd Sunday
    October 21st 2017 Week 42nd Saturday
    October 20th 2017 Week 42nd Friday
    October 19th 2017 Week 42nd Thursday
  • 原文地址:https://www.cnblogs.com/chenbg2001/p/4284286.html
Copyright © 2011-2022 走看看