转至: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实体开发注意事项“文档,以及相应的帮助文档。