在线等待,关于struts,hibernate里日期操作的问题,后台是oracle。谢谢

CNSDYT 2005-09-09 03:05:36
后台数据库为oracle,日期类型为date

我需要在页面的表单的文本框里输入日期(yyyy-mm-dd)的或是日期时间(yyyy-mm-dd hh:mm)的。
过程是这么走的
提交表单后进入我的FormBean,我的FormBean里对应的是String类型,然后用BeanUtils.copyProperties(voyage, voyageForm);把FormBean里的数据转化到PO里,在PO里对应的是java.sql.Date类型,如果是yyyy-mm-dd这种格式的进来可以转换成功,并且能够进入到数据库,可是用yyyy-mm-dd hh:mm或是它的标准格式,转换失败,后来我把PO里的类型换成Timestamp,进入数据库时报错,类似于类型不符合的错误,做过类似的你们如何处理的阿
...全文
362 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
数据库timstamp
pojo 为 java.util.Date 或者 java.sql.TimeStamp
hibernate your hbm 对应属性类型为TIMESTAMP.
这样就不会错了。

即能处理日期又能处理时间戳
gblyh 2005-09-19
  • 打赏
  • 举报
回复
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn=DriverManager.getConnection ("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Test","sa","sa");
ppst=conn.prepareStatement("insert into testtable values(?)");
ppst.setTimestamp(1,new Timestamp(System.currentTimeMillis()));
ppst.executeUpdate();
}
catch(Exception e)
{

}
给你个参考,其中Timestamp的构造函数还有几个,完全可以满足需要,自己到JDK文档里去查一下
Saro 2005-09-16
  • 打赏
  • 举报
回复
我也是,手工转,struts的自动转换太有问题
onlyxu 2005-09-15
  • 打赏
  • 举报
回复
更正:
form中用String
PO中用java.util.Date
映射文件中用date(注意,不是Date)

form到PO中用DateFormat手工转换一下
CNSDYT 2005-09-14
  • 打赏
  • 举报
回复
关键的问题是po里我用Date可以,但使用Timestamp往数据库插入数据时就报错,“类型部正确”,所以只能用Date
xhxsoft 2005-09-14
  • 打赏
  • 举报
回复
这么简单
直接用 SimpleDateFromatter sdf= new SimpleDateFormatter("yyyy-mm-dd-hh-mm-ss");
然后 sdf.formatter(new date());
这个不知道返回的是什么要是想返回string 在后面 .toString();
aChinese 2005-09-14
  • 打赏
  • 举报
回复
映射文件有没改成 timestamp ?
bobshi 2005-09-14
  • 打赏
  • 举报
回复
hbm.xml 的type 用 java.util.Date

po 的 type 也用java.util.Date

formbean 也是一样。
mxlmwl 2005-09-14
  • 打赏
  • 举报
回复
你是什么Date?注意java.sql.Date和java.util.Date的区别。
blackdreamzg 2005-09-12
  • 打赏
  • 举报
回复
我也是像楼上的说的这样实现的
onlyxu 2005-09-12
  • 打赏
  • 举报
回复
form中用String
PO中用java.util.Date
映射文件中用string

form到PO中用DateFormat手工转换一下
henry_cn 2005-09-12
  • 打赏
  • 举报
回复
写个org.apache.commons.beanutils.Converter的实现,再用org.apache.commons.beanutils.ConvertUtils注册就可以了
mxlmwl 2005-09-11
  • 打赏
  • 举报
回复
先用copyproperties,然后针对类型不同的,或者格式出错的,再手工setter这种类型的就可以了。
CNSDYT 2005-09-10
  • 打赏
  • 举报
回复
????没有人??????你们都是怎么处理的啊????
CNSDYT 2005-09-09
  • 打赏
  • 举报
回复
我想用日期来处理一下阿,有做过得出来说说
今天最强人 2005-09-09
  • 打赏
  • 举报
回复
日期全用String处理不行吗?你不时间吧
CNSDYT 2005-09-09
  • 打赏
  • 举报
回复
没有人做过吗?
layueer 2005-09-09
  • 打赏
  • 举报
回复
up
CNSDYT 2005-09-09
  • 打赏
  • 举报
回复
用Timestamp时的错误如下,转化到了PO
Caused by: java.sql.BatchUpdateException: ORA-01024: OCI 调用中的数据类型无效

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧