|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
在性能方面,在windows平台下,.net可能是占强项,要是把.net放在sun开发的操作系统上去运行呢?根本就运行不了,.net对其它操作系统的支持也很弱,性能也可能比不上java。
概述
在计划库表时,常常会碰着用于保留"工夫值"的字段,如create_date,begin_time,login_time等,不胜枚举。针对这些范例的字段,在设置数据范例时,有一个风趣的征象,即个中一些人利用Date范例,而别的一些人利用Char(8)/Char(14)范例。一样平常而言,初学者,在校先生,乃至先生一样平常都属于前者,他们一个光显的特性是对数据库的实际把握很好,但广泛短少实践项目标开辟履历;尔后者通常为那些有必定项目履历的开辟职员。乍一看,这些工夫值字段,用Date范例应当是通情达理,不移至理的,为何有必定项目履历的人恰恰要如许"改邪归正",如许"挺拔独行"呢?
这是典范的白猫黑猫成绩,实际化的工具很鲜明,但偶然在理论中就是不灵光,而一些"歪门邪道"的工具却显得加倍便利易用。本文将经由过程一个详细例子的分歧开辟历程,剖析Char范例工夫字段为何在理论中更受接待。思索到篇幅所限,我们仅对Date范例和Char(8)范例的工夫值字段作对照剖析,关于Date范例和Char(14)范例的剖析,信任人人完整能够由此而及彼。
1、对照的例子
我们计划了一个详细的实例,对用Char范例和Date范例的日期举行对照剖析,利用的是Oracle数据库,现对该实例举行复杂的形貌。
假定有一个T_USER表,有一个EXPIRE_DATE(过时日期)字段,请求纪录年、月、日的日期数据,对EXPIRE_DATE字段分离接纳两种完成体例:
T_USER表
右边的T_USER(1)利用CHAR(8)保留日期值,以yyyymmdd格局保留,如20070606,20070501;而右侧的T_USER(2)利用Date数据范例,我们称右边的数据表计划为CHAR范例日期计划,而右侧的计划为DATE范例日期计划。
表中的数据固然不会生而有之,我们假定从Web的表单上提交下去,保留到表中,固然还要有查询、统计等操纵,我们就经由过程这些罕见的数据操纵剖析这两个计划的分歧,经由过程如许的剖析,孰劣孰优,信任我们就能够举行很好的判别了。
2、从表单增加纪录的对照
Struts+Spring+Hibernate是今朝Web项目中盛行的框架,在这个框架中,Hibernate必要为T_USER天生一个User.java的PO,CHAR范例日期计划的User.expireDate为String范例,而DATE范例日期计划的User.expireDate为java.sql.Date范例,如所示:
两计划分离对应的User.javaPO
<p>
专门做了这个例子;而java的这个例子好像就是为了教学而写的,很多教学目的的例子是不考虑优化、性能的。 |
|