网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 网络学院 >> 程序设计 >> Java编程 >> 文章正文
  iBatis中日期与字符串之间的映射            【字体:
iBatis中日期与字符串之间的映射
作者:佚名    文章来源:不详    点击数:    更新时间:2007-9-2    

项目中用到了ibatis,具体情况如下:

select元素中配置了它的resultMap属性,这个resultMap对应的classOrderSearchResultModel,也就是说我的查询结果将用OrderSearchResultModel这个类的实例来进行封装。
正在装载数据……
在我的
ibatis的查询中有一个字段叫LEAVEDATE,它在数据库中是DATE型的,我的数据库库是OracleOrderSearchResultModel中与它对应的属性叫做arrivedate,那么如何对日期型进行映射呢?arrivedate定义成什么类型好呢?映射片段如下:

………………………………………………………………………………

<result property ="arrivedate" column="arrivedate"/>

………………………………………………………………………………

我尝试了四种情况:

1. arrivedate定义为String,直接查询LEAVEDATE字段

此时在ibatis在对结果进行封装时,相当于直接把LEAVEDATE的值转化成了字符串,就像在java中调用了toString方法一样。

2arrivedate定义为Date,直接查询LEAVEDATE字段

此时在对结果进行封装时得到的是一个DATE对象,注意此时将arrivedate输出时,它的日期格式是java里面的日期格式,而不是它存放在数据库里面的格式

3arrivedate定义为String,查询使用to_char(LEAVEDATE,’yyyymmdd’)

此时封装的时候就相当于从字符串映射到字符串,输出arrivedate的格式取决于我们在to_char中设置的格式

4Arrivedate定义为Date,查询使用to_char(LEAVEDATE,’yyyymmdd’)

这个时候系统会报错,大意就是说从字符串转化为DATE时错误,要求字符串是如下的格式:yyyy-mm-dd hh24:mi:ss。就如同我们在使用SimpleDateFormatparse方法时,要求所要解析的字符串符合特定的格式。

另外,我想,Ibatis在对数据进行封装的时候可能是把所查询的某个字段的结果作为参数传递给了它对应的属性的set方法。比方说arrivedate属性对应LEAVEDATE字段,那么它就会把LEAVEDATE的值作为作为参数传递给setArrivedate方法




本文来源:http://blog.csdn.net/CMTobby/archive/2007/08/14/1743150.aspx
站内文章搜索 高级搜索
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
     用java实现web服务器
     用java快速开发linux gu…
     正则表达式分解siemens交…
     [portal参考手册]目录
     jsp中调用oracle存储过程…
  • page、request、session、ap…

  • HashTable和HashMap; Vecto…

  • iBatis一级缓存的探讨

  • Jsp 应用之自定义标签库(tag…

  • SPRING+STRUTS+HIBERNATE登录…

  • 一个关于Comparator的使用例…

  • genexus中对字符串的格式补空…

  • jsf自定义toolbar组件

  • JavaWeb中的Session、Sessio…

  • JSP Tag Library

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    网络学院©2007 www.23book.net
    为您提供web编程,vb编程,vc编程,服务器架设管理,数据库设计等方面的知识 站长:David