struts2之Date Time Timestamp

好久没写博客了。最近做了不少东西,今天选一部分总结一下。


        用struts2为框架,写了一个信息发布系统。这里没有用Spring和Hiberate,数据库用MySQL。


        主要功能:首页登录,首页展示所有已发信息的主题、摘要、评论数、发布者、发布时间。若登录用户为管理员,则首页每项对应增加删除和修改功能。


        进入某主题文章,显示文章全部内容,其后是所有评论信息,最后是一个提交新评论的表单。管理员有修改文章、删除某评论的权限。对重复登录做了检测。


        点击主题,链接到showDetail.action?index=${id},其中${id}为主页显示所有信息的动作类NoticePublish.action通过JavaBean传入的文章主题的数据库id。由于在struts2.1以后不再支持EL表达式和struts-tag的混用,所以这里和后面很多传值的地方纠结了很久。 showDetail.action的结果如果为"success",则进入showDetail.jsp?index=${index}页面,显示全部信息、评论,以及提交新评论。

        这里主要记录一下让人无比纠结的java.util.Date类的写入、读出数据库,以及显示的问题。
数据库中与日期时间相关的数据类型有date,time,datetime,timestamp。
date只记录日期,time只记录时间(相信不会有人只记录日期而不记录时间的),datetime记录日期和时间,timestamp记录时间戳。这里我选择datetime,其实他可以记录的时间进度和timestamp是一样的,都是精确到毫秒。

        在对应JavaBean中,日期时间这一项对应的类就是java.util.Date。他可以和数据库的datetime对应使用。

在查询数据库的动作类中,写入记录时,先生成当前时间的时间戳:

更新语句不要用setDate(),用setTimestamp():

读出的时候,用getTimestamp():

其实一开始还用了另外一种解决办法,就是把datetime当做string写入数据库,很容易实现,但后来发现要比较日期就跪了。所以还是用上面的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值