仓酷云

标题: 发布一篇开源-给hibernateTools写个插件 [打印本页]

作者: 愤怒的大鸟    时间: 2015-1-18 11:12
标题: 发布一篇开源-给hibernateTools写个插件
市场分额,java比asp高一点,因为C#是仿照java开发的,所以哦C#能做的java都能做到,但是java能做的,C#不一定都能做到。毕竟是抄袭吗。
比来筹办把进销存项目激活,如许一方面可让更多的人无机会介入到开源开辟中来,另外一方面也把SQL翻译器、SQL优化器、JDBMonitor使用到这个项目中,如许这三个基本模块就能够在实践项目使用中失掉考证和加强。
我筹办用hibernate完成耐久层,因而到hibernate的网站上把hibernate3下载上去,看了看有个hibernatetools,是个hibernate在eclipse下的帮助工具,也down了上去,用了用感到不错。能够间接从数据库表天生POJO和hbm.xml(实在我不是很喜好这类开辟体例,我更喜好我用建模工具来写POJO,然后用工具天生hbm.xml和DDL,不外仿佛hibernate3如今还没有这类工具,假如哪位伴侣晓得有这类工具,但愿见教)。
十全十美的是它天生的javabean的字段名是完整和数据库字段名分歧、天生的javabean的类名是完整和数据库表名分歧。出于明晰和可移植的思索(也是公司的开辟标准养成的习气),我计划的表名全体以"T_"开首,两头再加上子体系名,最初才是表意的表名,好比用“T_PS_BOM”暗示临盆办理体系中的物料清单表;字段名全体以“F”开首,好比FId,FName。
如许就招致天生了以下的javabean:
publicclassTPSBOM
{
.......
publicStringgetFID()
...
publicStringgetFNumber()
}
看起来很不直不雅。我方才想保持这个工具,想了想,“拿来就用,欠好用就换”可不是做开源人该有的精力呀。研究一下。
看看了HibernateCodeGeneration页签中有一个“revengStrategy”,甚么意义?“反向工程战略”??仿佛有门儿,点击“Browse”弹出一个类选择对话框,居然看到了它默许显现的“DefaultReverseEngineeringStrategy”类了,我在hibernatetools的安装目次找来找往,终究在pluginsorg.hibernate.eclipse_3.2.0.beta6lib        ools下的hibernate-tools.jar中找到了这个类的影子,用反编译工具反编译一下(懒得往网高低源码了,呵呵)。一个个办法名展示在我眼前:
tableToClassName
columnToPropertyName
columnToHibernateTypeName
。。。
这不就是在把数据库响应的项映照成java响应的项吗?
完工!
新建一个类CowNewReverseEngineeringStrategy,承继自DefaultReverseEngineeringStrategy,overridetableToClassName、
columnToPropertyName这两个办法,在这两个办法中写进本人的转换逻辑。
然后打包成jar包,放到pluginsorg.hibernate.eclipse_3.2.0.beta6lib        ools下,然后在pluginsorg.hibernate.eclipse_3.2.0.beta6lib        oolsMANIFEST.MF中把这个新增包的内容加上,封闭eclipse,加个-clean参数启动eclipse,然后点击“HibernateCodeGeneration”,把“revengStrategy”填成“com.cownew.DevTools.hibtools.RevEng.CowNewReverseEngineeringStrategy”,“Run”!!!
晕倒,居然报错“com.cownew.DevTools.hibtools.RevEng.CowNewReverseEngineeringStrategy
Exceptionwhilegeneratingcode
Reasonorg.hibernate.console.HibernateConsoleRunTimeException:Couldnotcreateorfindcom.withoneargumentdeleateconstructor”
看来是反射挪用的时分出了成绩,从头翻开hibernate-tools.jar,细心察看,居然发明了一个DelegatingReverseEngineeringStrategy,它多了一个参数为“ReverseEngineeringStrategydelegate”的机关函数,而其他挪用都是转发给ReverseEngineeringStrategy了,晕倒,弄不懂它在做甚么,也没工夫研讨了,给CowNewReverseEngineeringStrategy也曾街一个参数为“ReverseEngineeringStrategydelegate”的机关函数,从头打包,从头启动eclipse,哈哈,统统弄定,终究天生我心爱的,
<p>
其实你不用Struts,spring这些工具,直接用jsp,servlet能够很方便地写出来,而且,可以根据个人的水平、爱好,有很多方案。而struts,spring这些工具的出来。
作者: 不帅    时间: 2015-1-20 17:06
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
作者: 飘飘悠悠    时间: 2015-1-21 08:37
Java 编程语言的风格十分接近C、C++语言。
作者: 金色的骷髅    时间: 2015-1-30 12:38
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
作者: 简单生活    时间: 2015-2-5 20:15
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
作者: 蒙在股里    时间: 2015-2-6 16:32
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
作者: 只想知道    时间: 2015-2-7 15:59
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
作者: 山那边是海    时间: 2015-2-9 20:11
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
作者: 再见西城    时间: 2015-2-27 20:12
是一种使网页(Web Page)产生生动活泼画面的语言
作者: 灵魂腐蚀    时间: 2015-3-4 10:05
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
作者: 分手快乐    时间: 2015-3-4 23:13
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
作者: 飘灵儿    时间: 2015-3-7 04:19
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
作者: 海妖    时间: 2015-3-14 09:30
是一种使网页(Web Page)产生生动活泼画面的语言
作者: 老尸    时间: 2015-3-21 01:33
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2