(转)使用myeclipse生成实体类和hibernate映射文件
转至: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映射文件的更多相关文章
- 使用MyEclipse生成实体类和Hibernate映射文件
1.打开MyEclipse DataBase Explorer. 如上图,点击图中2便可切换到MyEclipse DataBase Explorer,若没有该图标,则点击图中1,便可选择MyEclip ...
- NHibernate生成实体类、xml映射文件
最近工作电脑装完win10后,之前使用的codeSmith安装不了,索性自己写一个. 界面比较简单,如下图: 第一行为Oracle数据库的连接字符串.连接成功后,填充表到第4行的下拉列表中. 第二行为 ...
- J2EE进阶(十五)MyEclipse反向工程实现从数据库反向生成实体类之Hibernate方式
J2EE进阶(十五)MyEclipse反向工程实现从数据库反向生成实体类之Hibernate方式 反向工程又称逆向工程. 开发项目涉及到的表太多,一个一个的写JAVA实体类很是费事.MyEcl ...
- MyEclipse从数据库反向生成实体类之Hibernate方式 反向工程
前文: hibernate带给我们的O/RMapping思想是很正确的,即从面相对象的角度来设计工程中的实体对象,建立pojo,然后在编写hbm.xml映射文件来生成数据表.但是在实际开发中,往往我们 ...
- MyEclipse从数据库反向生成实体类通过Hibernate的方式----mysql数据库实例
1.我们通过DB与数据库建立连接 2.建立web工程,构建Hibernate框架 3.通过table生成实体类
- MyEclipse从数据库表反向生成实体类之Hibernate方式(反向工程)
一.打开Myeclipse Database Explorer 二.新建[New..] 三.选择数据库,添加驱动 四.测试连接 五.选中数据库中的表单击右键选择[Hibernate Rever..] ...
- MyEclipse数据库反向生成实体类
MyEclipse数据库反向生成实体类 “计应134(实验班) 凌豪” 当我们在开发项目涉及到的表太多时,一个一个的写JAVA实体类很是费事.然而强大的MyEclipse为我们提供简便的方法:数据库反 ...
- Snail—Hibernate反向生成实体类及配置文件
今天学习了Hibernate的反向生成类文件 第一步.打开myeclipse中的database视图,找到对应的表,选中后右键单击. watermark/2/text/aHR0cDovL2Jsb2cu ...
- Eclipse使用hibernate插件反向生成实体类和映射文件
一般dao层的开发是这样的,先进行数据库的设计,什么E-R图之类的那些,然后选择一款数据库产品,建好表.最后反向生成Java实体和映射文件,这样可以保证一致性和便捷性. 如果用myeclipse,逆向 ...
随机推荐
- 深入了解ios系统机制
1.什么叫ios? ios一般指ios(Apple公司的移动操作系统) . 苹果iOS是由苹果公司开发的移动操作系统.苹果公司最早于2007年1月9日的Macworld大会 ...
- Mysql和Oracle数据库concat()函数
一.函数的使用参数不同 Mysql支持多个字符串拼接: CONCAT(str1,str2,-) Oralce只支持两个字符串的拼接,若想拼接多个字符串可以嵌套使用concat CONCAT(str1, ...
- JavaScript入门篇 第二天(消息对话框+网页弹出)
提问(prompt 消息对话框) prompt弹出消息对话框,通常用于询问一些需要与用户交互的信息.弹出消息对话框(包含一个确定按钮.取消按钮与一个文本输入框). 语法: prompt(str1, s ...
- js去除中间空格
/ 功能: 1)去除字符串前后所有空格 // 2)去除字符串中所有空格(包括中间空格,需要设置第2个参数为:g) function Trim(str,is_global) { var result; ...
- DataGridView key points
Simple Examples => http://csharp.net-informations.com/datagridview/csharp-datagridview-readonly-c ...
- xampp使用phpunit
1.将xampp/php的pear文件夹里面的phpunit文件夹复制到htdocs目录下 2.复制xampp/php的phpunit.bat到需要测试的目录 3.使用cmd命令切换至phpunit. ...
- Spring的RMI远程调用 - (示例)
一.定义远程服务器上接口 public interface RMIService { public String getInfo(); } 二.实现远程服务器上接口 public class RMIS ...
- 检测中文长度gbk下2个字节
//$str = 'fff&sdf你是sdf好fdf啊b歌hello中world';$str = 'd你b_fff是好啊歌中潺潺 ';echo chineselength($str).&quo ...
- DOM9大节点
ELEMENT_NODE 1 元素节点 常用 ATTRIBUTE_NODE 2 属性节点 常用 TEXT_NODE 3 文本节点 常用 CDATA_SECTION_NODE 4 CDATA区段 E ...
- freemarker学习
链接: http://swiftlet.net/archives/category/freemarker