正向工程:

通过创建Java代码生成表文件

反向工程:

把表创建完自动生成代码

一,正向工程 1.myeclipse使用hibernate正向工程,hibernate的正向工程是指从Java实体类生成数据库表的过程,这种过程符合java程序员面向对象编程的思想,也是工程设计的时候使用比较多的一种思想。具体实施过程如下。

1).手动创建Java pojo对象,并对pojo对象加上hibernate anotation。

这样做的目的是通过myeclipse来生成hibernate映射文件,

public class User {

private int uid;

private String pwd;

private String pname;

private String name;

/** * @hibernate.id generator-class="native" * @return */

public int getUid()

{    return uid; }

public void setUid(int uid)

{    this.uid = uid; } /** * @hibernate.property column="pwd" not-null="true" length="32" * @return */ public String getPwd() {    return pwd; }

public void setPwd(String pwd) {    this.pwd = pwd; } /** * @hibernate.property column="pname" length="32" * @return */

public String getPname() {    return pname; } public void setPname(String pname) {    this.pname = pname; } /** * @hibernate.property column="name" length="16" * @return */

public String getName() {    return name; }

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

2)myeclipst项目名称右击myeclipst点击run xdoclet,如果没有进行myclipse xdoclet配置,需要先进行配置才能执行上述操作。具体配置方法为,项目选中右击点properties选myclipse—>xdoclet选addstander在弹出来的对话框中选standarhibernate.

3)运行完xdoclet之后将会生成hibernate映射文件,然后在hibernate配置文件中配置好数据库连接设置hibernate.hbm2ddl.auto 为create重新启动tomcate就会生成表。

二, 逆向工程 .

由数据库表生成java pojo和hibernate映射文件

1).准备数据库,假如名为TestDB,里面有一个User的表

2).在MyEclipse的右上角切换透视图,切换到MyEclipse Database Explorer

3).然后在最左边点击右键,选择New(也就是说新建一个数据库连接,Driver Name叫SQL2005_TestDB,方便下面解释,其它的跟平常用的一样),,配置好连接以后点击Next,进入下一个窗体,   选择第三个单选按钮(Display the selected Schemas),然后点击右边的Add按钮,也就是说添加你的数据库,然后点击完成按钮,这样你的数据库连接就创建好了;

4).切换到MyEclipse Java Enterprise 的透视图,创建一个Web Project,假如就叫做TestDemo

5).右击TestDemo,选择MyEclipse,然后选择Add Hibernate Capabilities,然后在出来的窗体不用改,默认的就是选择的Hibernate3.1的,点击Next,   然后出来这个窗体也不用改,会生成一个Hibernate的配置文件(hibernate.cfg.xml),点击Next,又会出现一个窗体,在DB Driber那个下拉框里选择   刚才配置好的数据库连接(上边的SQL2005_TestDB),点击Next,然后出来一个窗体,这个窗体是让你选择你要将你生成的Hibernate的文件放到哪儿,你可以点击New创建一个entity的包,也可以不创建,假如我们现在就创建一个entity的包吧(下面有用),然后点击finish按钮;

6).接下来就是最后一步了,然后又切换到MyEclipse Database Explorer,在你刚才创建的SQL2005_TestDB上右键,选择Open connection,   一直展开到dbo下面的TABLE,展开TABLE,在我们创建的User表上点击右键,选择Hibernate Reverse Engineering(这个就是反向生成),出来一个面板   在Java src folder 选择这个工程的src目录,然后在Java Package上选择刚才我们在工程里面创建好的entity包,接下来就是勾中前三个复选框就可以了,点击Next,又会出现一个面板,这个面板可以不用管,然后点击Next,这个面板也不用管,点击Finish,然后就会生成实体类和映射文件了.

--------------------- 本文来自 du_xian_sheng 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/H12KJGJ/article/details/52970908?utm_source=copy

转载于:https://www.cnblogs.com/Catherinezhilin/p/9687186.html

hibernate--生成正向和逆向工程相关推荐

  1. 如何用Powerdesigner的PDM(物理数据模型)生成数据库及逆向工程(将现有的数据库生成PDM)(转)...

    如何用Powerdesigner的PDM(物理数据模型)生成数据库及逆向工程(将现有的数据库生成PDM) pdm做好后,最终是要将其转化为数据库实体的. 1.确认当前Powerdesigner设置的d ...

  2. 转用P6SPY查看HIBERNATE生成的SQL

    SHOW_SQL获得HIBERNATE生成的SQL中,update/insert语句中的value被替换成"?",昨天得本论坛高人指点用p6spy解决了此问题,特将解决之道回馈本论 ...

  3. hibernate生成表中有BLOB字段的javabean,hql查询出现无效列类型异常

    出现异常:java.sql.SQLException: 无效的列类型: getInt not implemented for class oracle.jdbc.driver.T4CClobAcces ...

  4. 正向、逆向工程在UML图中的应用

    或许很多人不太理解,为什么要学习建模? 因为当一个复杂的架构,在纸上去写去画,是非常复杂的,但通过UML建模就能实现一个脑图,一目了然. 很多人理解的逆向工程是:从UML建模中 导出 Java类,其实 ...

  5. 使用Hibernate生成数据库和连接数据库

    生成数据库Test http://blog.csdn.net/yuhui123999/article/details/51898053 [java] view plaincopy package co ...

  6. log4j配置使控制台能打印出hibernate生成sql的参数

    在log4j.xml中配置如下 <logger name="org.hibernate.type"> <level value="trace" ...

  7. idea mysql 逆向生成,IDEA mybatis-generator逆向工程生成代码

    1.在maven工程中的resource中创建generatorConfig.xml 2.配置generatorConfig.xml /p> PUBLIC "-//mybatis.or ...

  8. hibernate生成数据表时报错:HHH000388: Unsuccessful: create table emp (empid integer generated by default as i

    错误提示: ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL s ...

  9. idea基于hibernate生成的Entitle对象,会忽略外键属性

    需要自己手动添加 如 private String cgcode;@Basic@Column(name = "cgcode")public String getCgcode() { ...

  10. Mybatis学习笔记(尚硅谷版整理)

    Mybatis [尚硅谷]2022版MyBatis教程(细致全面,快速上手)_哔哩哔哩_bilibili 笔记 Mybatis框架搭建 步骤 创建maven工程,引入依赖 创建Mybatis的核心配置 ...

最新文章

  1. PowerPath/VE:EMC夯实虚拟环境的独门武器
  2. HDU - 5335 Walk Out(bfs+路径输出+贪心)
  3. java der pem_JAVA解析各种编码密钥对(DER、PEM、openssh公钥)
  4. 一步步编写操作系统 29 cpu缓存简介
  5. C#LeetCode刷题之#189-旋转数组(Rotate Array)
  6. Head First设计模式读书笔记九 第十章 状态模式
  7. Qt_QDir_常见的操作
  8. mysql数据库命令_新手入门MYSQL数据库命令大全
  9. ACM-树重心的性质及动态维护
  10. python是什么专业学的-自学Python有什么好方法吗?老男孩专业Python培训
  11. [转载] python 字符串包含某个字符_python字符串
  12. 更改linux主机名称
  13. VIEW: X$KSMLRU - LRU flushes from the shared pool - (7.3 - 8.1) [ID 43600.1]
  14. Timer 和TimerTask分析
  15. 一键修改手机DNS的bat文件
  16. 目的:使用CUDA环境变量CUDA_VISIBLE_DEVICES来限定CUDA程序所能使用的GPU设备
  17. python类中的魔方方法
  18. 关于Django+Framework的最完整面试题(1)
  19. Oracle入门笔记(三)——Oracle数据类型
  20. 完整的连接器设计手册_CPCI高速背板设计与仿真

热门文章

  1. iOS开发之Mac安装软件时,xx.app文件损坏,无法安装,解决方法,亲测可用
  2. 如何打开苹果Mac触控板的三指拖移功能?
  3. 苹果电脑如何正确断网?macOS操作系统断网方法
  4. POJ 2149 ZOJ 2267UVA 1337UVALive 3192 Inherit the Spheres
  5. String和StringBuffer与StringBuilder的区别
  6. Mcafee EPO数据库过大
  7. 逆天闪存设备 居然能将数据保存至少百年
  8. bio、nio、aio及select、poll、epoll
  9. 图文并茂排序与算法总结
  10. quick-cocos2d-x GameCenter 排行榜