转至: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. PowerDesigner的使用二

    PowerDesigner是一款功能非常强大的建模工具软件,足以与Rose比肩,同样是当今 最著名的建模软件之一.Rose是专攻UML对象模型的建模工具,之后才向数据库建模发展,而PowerDesig ...

  2. k-折交叉验证(k-fold crossValidation)

    k-折交叉验证(k-fold crossValidation): 在机器学习中,将数据集A分为训练集(training set)B和测试集(test set)C,在样本量不充足的情况下,为了充分利用数 ...

  3. Linux下动态库(.so)和静态库(.a) 的区别

    静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库.编译之后程序文件大,但加载快,隔离性也好.动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还 ...

  4. C#中ref和out的使用与区别

    C#中ref关键字和out关键字所实现的功能差不多,都是指定一个形参按照引用传递而不是实参的副本传递.但是二者适用场景还是有些区别的:out适合用在需要retrun多个返回值的地方,而ref则适合用在 ...

  5. chmod() has been disabled for security reasons

    最近用 codeigniter 写一个小系统,引用了session 库,codeigniter默认的session存储方式为files.鉴于安全性,文件即肯定涉及到权限问题. 在类 UNIX 操作系统 ...

  6. 怎样成为全栈工程师(Full Stack Developer)?

    "Facebook 工程师说 Facebook 只招 full stack engineer,那么 Facebook engineer 都是怎样的人啦."? 具体经验不重要,重要的 ...

  7. 追踪app崩溃率、事件响应链、Run Loop、线程和进程、数据表的优化、动画库、Restful架构、SDWebImage的原理

    1.如何追踪app崩溃率,如何解决线上闪退 当 iOS设备上的App应用闪退时,操作系统会生成一个crash日志,保存在设备上.crash日志上有很多有用的信息,比如每个正在执行线程的完整堆栈 跟踪信 ...

  8. Nginx日志切割,以及脚本上传nginx的切割日志

    一:日志切割步骤 命令都在root下进行 1.创建目录 mkdir -p /etc/opt/modules/bin ## 创建文件夹 2.上传cut 3.观察目录 4.修改的cut文件 5.检测 需要 ...

  9. 加载UI

    weak情况 1 2 3 4 @property (weak,nonatomic) UILabel *nameLabel;   UILabel *nameLabel = [[UILabel alloc ...

  10. Mac系统安装jdk和maven

    一.安装jdk 1.查看java链接到了哪里: 进入到相应的目录:cd /usr/bin 查看java链接到了哪里: ls -l java lrwxr-xr-x  1 root  wheel  74  ...