|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
市场分额,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这些工具的出来。 |
|