Java实体Date类型属性值无法保存到数据表对应字段的问题
项目框架:
maven+springMVC+mybatis
实体属性:
//推荐时间
private java.util.Date recommendDate;
数据库字段:
ALTER TABLE `resource`
ADD COLUMN `RECOMMEND_DATE` date NULL COMMENT '推荐时间';
属性赋值:
resource.setRecommendDate(DateUtils.getNowDate());
相关方法:
获取现在时间
/**
* 获取现在时间
*
* @return 返回时间类型 yyyy-MM-dd HH:mm:ss
*/
public static Date getNowDate() {
Date currentTime = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = formatter.format(currentTime);
ParsePosition pos = new ParsePosition(8);
Date currentTime_2 = formatter.parse(dateString, pos);
return currentTime_2;
}
问题:执行保存时跟踪MySql日志发现字段值是NULL
resourceManager.saveOrUpdate(resource);
原因分析:
产生此问题的原因估计是类型不匹配的问题!
但即没有异常,也没有警告;
解决方法:
后来由于需要保存日期时间,所以将数据库类型改为datetime;
实体属性映射为:
//推荐时间
private java.sql.Timestamp recommendDate;