java.sql.Date的问题

来源:互联网 发布:yii框架数据库配置 编辑:程序博客网 时间:2024/06/07 08:49

java.sql.SQLException: Value '0000-00-00'can not be represented asjava.sql.Timestamp

的错误,这是因为hibernate认为这个不是一个有效的时间字串。

而有效的日期格式为“ 0001-01-01  00:00:00.0 ”

所以, 我们在jdbc连接出改成

“jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull”

或者

“jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=round  0001-01-01   00:00:00.0”

就解决这个问题了。

 

public   static  java.sql.Date   parseSqlDate(java.util.Date  date)  
  if   (date  !=   null)  
  return   new  java.sql.Date(date.getTime());  
  else  
  return   null; 
  }  
   
  public   static  java.sql.Date  parseSqlDate(String   dateStr,  String   format)  
  java.util.Date   date  =   parseDate(dateStr,  format);  
  return   parseSqlDate(date); 
  }  
   
  public   static  String   format(java.util.Date  date,   String  format)  
  String   result  =   ""; 
  try  
  if   (date  !=   null)  
  java.text.DateFormat   df  =   new  java.text.SimpleDateFormat(format);  
  result   =  df.format(date);  
  }  
  }   catch  (Exception   e)  
  }  
  return   result; 
  }

0 0
原创粉丝点击