`

java.util.date 和 java.sql.date 两者之间区别!

    博客分类:
  • java
阅读更多
今天在调用一存储过程中setDate参数过程是出错,查资料才发现setDate的参数必须是java.sql.date类型
代码如下:
CallableStatement cstmt;
try {
	cstmt = this.getHibernateTemplate().getSessionFactory().getCurrentSession().connection().prepareCall("{call sp_过程名称(?,?)}");
	
	//查询参数
	if(oc.getMadeDate()!=null){
		[color=red]cstmt.setDate(1,new java.sql.Date(oc.getMadeDate().getTime()));[/color]
	}else{
		cstmt.setDate(1,null);
	}
	//返回参数
	cstmt.registerOutParameter(2,Types.VARCHAR);
	cstmt.execute();	
	return cstmt.getString(2);

} catch (Exception e) {
	e.printStackTrace();
	return "操作失败!";
}


引申了解一下java.util.date与java.sql.date的关系与区别:
继承关系:
java.lang.Object  --》  java.util.Date --》 java.sql.Date
具体的转换关系就是
java.sql.Date date=new Java.sql.Date();
java.util.Date d=new java.util.Date (date.getTime());
反过来是一样的
java.util.Date date=new Java.util.Date();
java.sql.Date d=new java.sql.Date (date.getTime());

sql.date,一般是在数据库的时间字段,util.date一般是日常日期字段
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics