论坛首页 Java企业应用论坛

timestamp,datetime数据类型在ibatis中

浏览 26085 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-07-14  
mysql数据库字段为timestamp或datetime类型,在ibatis中不知道怎么配置,我用java.util.Date,和
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)                                                             
);
   发表时间:2007-07-14  
可能是其他原因吧,java.util.Date隐射到datetime肯定是没问题的,我一直都这么用。
0 请登录后投票
   发表时间:2007-07-14  
Zmud 写道
可能是其他原因吧,java.util.Date隐射到datetime肯定是没问题的,我一直都这么用。
谢谢楼上的回复,能贴出你映射的配置文件吗
0 请登录后投票
   发表时间:2007-07-14  
    无论是date还是timestamp,在做映射的时候用的都是DATE,如果有问题,那就是其他的问题了;
0 请登录后投票
   发表时间: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错误,以为是映射有问题.
0 请登录后投票
   发表时间:2007-07-15  
JAVA我用JAVA.SQL.DATE,和JAVA.UTIL.DATE,都可以
0 请登录后投票
   发表时间:2007-07-16  
我用java.util.Date做映射的时候,只能显示年月日,而时分秒都显示为0,不知道是什么原因了.
0 请登录后投票
   发表时间: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 "";
		}
		
	}
0 请登录后投票
   发表时间: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 "";
		}
		
	}
不过我用Timestamp来映射的话,可以解决时分秒显示为0这个问题.
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics