2007-07-14
timestamp,datetime数据类型在ibatis中
关键字: datetime
mysql数据库字段为timestamp或datetime类型,在ibatis中不知道怎么配置,我用java.util.Date,和
java.sql.Timestamp都试过,都不行,不知道怎么解决,有人知道吗?谢谢!
java.sql.Timestamp都试过,都不行,不知道怎么解决,有人知道吗?谢谢!
<resultMap id="forumResult" class="forum">
<result property="forumId" column="forumId" />
<result property="name" column="name" />
<result property="description" column="description" />
<result property="status" column="status" />
<result property="forumOrder" column="forumOrder" />
<result property="catId" column="catId" />
<result property="topicCount" column="topicCount" />
<result property="postCount" column="postCount" />
<result property="lastPostId" column="lastPostId" />
<result property="lastPoster" column="lastPoster" />
<result property="lastPostDate" column="lastPostDate"/>
<result property="lastTopicId" column="lastTopicId" />
</resultMap>
import java.util.Date;
public class Forum {
private Long forumId;
private String name;
private String description;
private int status;
private int forumOrder;
private int catId;
private int topicCount;
private int postCount;
private Long lastPostId;
private String lastPoster;
private Date lastPostDate;
private Long lastTopicId;
CREATE TABLE forum(
forumId bigint(20) unsigned NOT NULL AUTO_INCREMENT,
name varchar(200) DEFAULT NULL,
description varchar(200) DEFAULT NULL,
status int(2) unsigned DEFAULT NULL,
forumOrder int(2) unsigned DEFAULT NULL,
catId bigint(20) unsigned NOT NULL DEFAULT '0',
topicCount bigint(20) unsigned DEFAULT NULL,
postCount bigint(20) unsigned DEFAULT NULL,
lastPostId bigint(20) unsigned DEFAULT NULL,
lastPoster varchar(255) DEFAULT NULL,
lastPostDate datetime NOT NULL,
lastTopicId bigint(20) unsigned DEFAULT NULL,
PRIMARY KEY (forumId)
);
评论
kevin002
2007-07-21
devin 写道
kevin002 写道
我用java.util.Date做映射的时候,只能显示年月日,而时分秒都显示为0,不知道是什么原因了.
我换用String做映射了.数据库里还是用datetime,取出来后格式化一下就可以了. public String getLastPostDate() {
if (lastPostDate != null && !"".equalsIgnoreCase(lastPostDate)) {
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date temp = sdf.parse(lastPostDate);
lastPostDate = sdf.format(temp);
return lastPostDate;
} catch (Exception e) {
e.printStackTrace();
return "";
}
}
devin
2007-07-18
kevin002 写道
我用java.util.Date做映射的时候,只能显示年月日,而时分秒都显示为0,不知道是什么原因了.
我换用String做映射了.数据库里还是用datetime,取出来后格式化一下就可以了. public String getLastPostDate() {
if (lastPostDate != null && !"".equalsIgnoreCase(lastPostDate)) {
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date temp = sdf.parse(lastPostDate);
lastPostDate = sdf.format(temp);
return lastPostDate;
} catch (Exception e) {
e.printStackTrace();
return "";
}
}
kevin002
2007-07-16
我用java.util.Date做映射的时候,只能显示年月日,而时分秒都显示为0,不知道是什么原因了.
tianzhijie11
2007-07-15
JAVA我用JAVA.SQL.DATE,和JAVA.UTIL.DATE,都可以
devin
2007-07-14
谢谢上面两位的提醒,我仔细检查了后,发现数据库里设了默认值为0000-00-00 00:00:00,我把值改成2007-07-12 11:34:00就没问题.刚开始总是报java.sql.SQLException: Value '0000-00-00' can not be represented as java.sql.Timestamp错误,以为是映射有问题.
flyeagle
2007-07-14
无论是date还是timestamp,在做映射的时候用的都是DATE,如果有问题,那就是其他的问题了;
devin
2007-07-14
Zmud 写道
可能是其他原因吧,java.util.Date隐射到datetime肯定是没问题的,我一直都这么用。
谢谢楼上的回复,能贴出你映射的配置文件吗
Zmud
2007-07-14
可能是其他原因吧,java.util.Date隐射到datetime肯定是没问题的,我一直都这么用。
- 浏览: 2821 次
- 性别:

- 来自: 湖南

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
timestamp,datetime数据类 ...
devin 写道kevin002 写道我用java.util.Date做映射的时 ...
-- by kevin002 -
timestamp,datetime数据类 ...
kevin002 写道我用java.util.Date做映射的时候,只能显示年月 ...
-- by devin -
timestamp,datetime数据类 ...
我用java.util.Date做映射的时候,只能显示年月日,而时分秒都显示为0 ...
-- by kevin002 -
timestamp,datetime数据类 ...
JAVA我用JAVA.SQL.DATE,和JAVA.UTIL.DATE,都可以
-- by tianzhijie11 -
timestamp,datetime数据类 ...
谢谢上面两位的提醒,我仔细检查了后,发现数据库里设了默认值为0000-00-00 ...
-- by devin






评论排行榜