转至:http://blog.sina.com.cn/s/blog_9658bdb40100uiod.html

1.下载并安装myeclipse,如果已经安装,则忽略该步骤;
2.打开myeclipse,打开“myeclipse database explorer"透视图,在DB
Browser新建数据库连接,具体步骤(以连接sybase为例):
  1.Driver template下拉列表选择"Sybase Adapter Server
Enterprise";
    2.Driver
name任意名称都行,建议与数据库同名;
    3.Connection
URL:jdbc:sybase:Tds:LIUBIN-PC:2087/zdplatform,然后填写用户名和密码

(mysql中的URL:jdbc:mysql://localhost:3306/数据库名称)

4.添加连接sybase的数据库连接驱动jar,选择驱动类。记得勾选Save password
   
5.下一步,选择“Display the selected schemas”
然后点击Add按钮,选择一个你要连接的数据库,最后点完成
 
6.选择刚刚创建的数据连接,右键->打开连接,如果可以打开则连接创建成功

3.打开myeclipse的java开发透视图,新建一个java项目,然后新建源码目录src,再建立包(小技巧:包名与要复制到的项目的实体包同名);

4.选中刚刚新建的项目,在菜单栏选择MyEclipse->Add
Hibernate Capabilities,根据向导添加hiabernate支持
5.在弹出的对话框中,具体的步骤是:
 
1.选择与项目中使用的hibernate相同版本,Libraries至少要选hibernate的Core,其它的默认,然后两次下一步;

2.选择Use JDBC
Driver,选择数据库连接的时候,选择之前创建的数据连接,其它的会自动填充,下一步;
  
3.这一步的时候,建议去掉创建sessionFactory,最后点击完成。
6.再次打开“MyEclipse Database
Explorer”透视图,打开之前创建的数据连接,展开dbo->table

7.选择要映射的表,按住shift键可以多选,然后右键选择的表,点击“Hibernate
Reverse Engineering...”
8.在弹出的对话框中开始配置如何生成实体类和映射文件,具体步骤如下:

1.scr
folder选择之前新建项目的src目录,包就选择在这个目录下建立的实体包名,也可以重新命名,将会自动创建包,勾选Hibernate
mapping file和Java Data Object,其它的都不要勾 选,然后下一步;
  2.这一步主要配置所要生成映射文件主键的增长类型,ID
Generator选择:native,然后下一步;
  3.选中左边出现的每一个表,在右边的Class
name填写对应的包名和类名,类名按骆驼命名法与表名保持一致,需要注意的是如果该类对应的表有前缀则需要需要保留前缀,如zam,zmd..,最后单击完成。

9.将生成的java类和映射文件复制到项目对应的位置,然后做人为的修改,具体步骤:

1.以一个实体类为例,打开一个实体类,删掉除私有属性外的其它的代码,比如构造方法,set,get方法

2.根据实际情况修改属性的类型,例如id数据类型一般为long,或者外键为其它的实体类都要手动修改;如果有集合属性则都使用Set,属性名称是集合的数据类型+Set,首字母依然小写

3.通常情况,我们会为每一个实体类添加一个布尔类型的selected属性,该属性不做映射,在做全选反选时候使用

4.使用快捷键为每一个属性重新生成get,set方法(按下Alt+Shift+S
然后再按R)。
 
5.通常对于是有集合属性我们会为每个属性添加create,和add方法,具体看代码:

public ShoppeContractAdjust createShoppeContractAdjust() {
ShoppeContractAdjust shoppeContractAdjust = new ShoppeContractAdjust();
shoppeContractAdjust.setCreatedate(new Date());
shoppeContractAdjust.setLastdate(new Date());
shoppeContractAdjust.setEnabled(1);
shoppeContractAdjust.setShoppeContract(this);
return shoppeContractAdjust;
} public void addShoppeContractAdjust(ShoppeContractAdjust shoppeContractAdjust) {
if (!AssertValue.isNotNull(this.shoppeContractAdjusts)) {
this.shoppeContractAdjusts = new HashSet<ShoppeContractAdjust>();
}
this.shoppeContractAdjusts.add(shoppeContractAdjust);
}

主要是注意方法的命名、设置默认值、对集合是否为空的判断等
   6.如果实现了序列化接口,则最好是生成UID;有些方法最好是加上注释文档,比如创建对象的方法,应该说明设置了哪些默认值,类也应该加上文档注释。

7.修改映射文件。删掉class节点里面的schema、catalog以及对应的属性值,属性数据类型要跟对应的实体一致,如果是基本数据类型则直接
写,如果int,double,如果是包装类型则写完整的报名+类名,例如:java.lang.String。一般的属性像这样配置就够
了:<property
name="" type=""><column
name=""/></property>,特别的,请参照”hibernate实体开发注意事项“文档,以及相应的帮助文档。

(转)使用myeclipse生成实体类和hibernate映射文件的更多相关文章

  1. 使用MyEclipse生成实体类和Hibernate映射文件

    1.打开MyEclipse DataBase Explorer. 如上图,点击图中2便可切换到MyEclipse DataBase Explorer,若没有该图标,则点击图中1,便可选择MyEclip ...

  2. NHibernate生成实体类、xml映射文件

    最近工作电脑装完win10后,之前使用的codeSmith安装不了,索性自己写一个. 界面比较简单,如下图: 第一行为Oracle数据库的连接字符串.连接成功后,填充表到第4行的下拉列表中. 第二行为 ...

  3. J2EE进阶(十五)MyEclipse反向工程实现从数据库反向生成实体类之Hibernate方式

    J2EE进阶(十五)MyEclipse反向工程实现从数据库反向生成实体类之Hibernate方式   反向工程又称逆向工程.   开发项目涉及到的表太多,一个一个的写JAVA实体类很是费事.MyEcl ...

  4. MyEclipse从数据库反向生成实体类之Hibernate方式 反向工程

    前文: hibernate带给我们的O/RMapping思想是很正确的,即从面相对象的角度来设计工程中的实体对象,建立pojo,然后在编写hbm.xml映射文件来生成数据表.但是在实际开发中,往往我们 ...

  5. MyEclipse从数据库反向生成实体类通过Hibernate的方式----mysql数据库实例

    1.我们通过DB与数据库建立连接 2.建立web工程,构建Hibernate框架 3.通过table生成实体类

  6. MyEclipse从数据库表反向生成实体类之Hibernate方式(反向工程)

    一.打开Myeclipse Database Explorer 二.新建[New..] 三.选择数据库,添加驱动 四.测试连接 五.选中数据库中的表单击右键选择[Hibernate Rever..] ...

  7. MyEclipse数据库反向生成实体类

    MyEclipse数据库反向生成实体类 “计应134(实验班) 凌豪” 当我们在开发项目涉及到的表太多时,一个一个的写JAVA实体类很是费事.然而强大的MyEclipse为我们提供简便的方法:数据库反 ...

  8. Snail—Hibernate反向生成实体类及配置文件

    今天学习了Hibernate的反向生成类文件 第一步.打开myeclipse中的database视图,找到对应的表,选中后右键单击. watermark/2/text/aHR0cDovL2Jsb2cu ...

  9. Eclipse使用hibernate插件反向生成实体类和映射文件

    一般dao层的开发是这样的,先进行数据库的设计,什么E-R图之类的那些,然后选择一款数据库产品,建好表.最后反向生成Java实体和映射文件,这样可以保证一致性和便捷性. 如果用myeclipse,逆向 ...

随机推荐

  1. NYOJ背包问题

    #include <stdio.h> struct group{ int value; int weight; }; void Sort(group bag[],int num) { in ...

  2. '/test.txt'; // 把抓取的代码写入该文件

      将获得的代码直接写入某个文件 代码如下:<?php $urls = array( 'http://www.sina.com.cn/', 'http://www.sohu.com/', 'ht ...

  3. subprocess模块还提供了很多方便的方法来使得执行 shell 命令

    现在你可以看到它正常地处理了转义. 注意 实际上你也可以在shell=False那里直接使用一个单独的字符串作为参数, 但是它必须是命令程序本身,这种做法和在一个列表中定义一个args没什么区别.而如 ...

  4. MySQL数据库初用(5.6版本)第一课

    参考:http://wenku.baidu.com/link?url=NlX55fDDQ02wESO1HNkxpvju2xATwe9Fym0MfojWddXbYaJcjEKKRF9z9EX4b7shV ...

  5. Struts 2.x No result defined for action 异常

      这是我跑struts2的第一个例子,跑的也够郁闷的,这个问题烦了我几个钟... 2011-5-10 10:10:17 com.opensymphony.xwork2.util.logging.co ...

  6. 【转】Eclipse 常用快捷键 (动画讲解)

    Eclipse有强大的编辑功能, 工欲善其事,必先利其器, 掌握Eclipse快捷键,可以大大提高工作效率. 小坦克我花了一整天时间, 精选了一些常用的快捷键操作,并且精心录制了动画, 让你一看就会. ...

  7. [转]RamDisk导致远程桌面客户端无法启动问题

    在一次重启系统后发现无法运行远程桌面客户端,运行后进行连接即报错. 查看日志有AppCrash错误: 错误应用程序名称: mstsc.exe,版本: 6.1.7600.16385,时间戳: 0x4a5 ...

  8. C# 代码笔记

    一.使循环不卡 Application.DoEvents(); System.Threading.Thread.Sleep(5); 二.计算代码运行时间 Stopwatch sw = new Stop ...

  9. EmguCV 阈值化

    一.public static double cvThreshold( IntPtr src, IntPtr dst, double threshold, double maxValue, //Max ...

  10. BLOB

    BLOB (binary large object),二进制大对象,是一个可以存储二进制文件的容器.在计算机中,BLOB常常是数据库中用来存储二进制文件的字段类型.BLOB是一个大文件,典型的BLOB ...