将 varchar 值转换为 JDBC 数据类型 DATE 时发生错误。
问题是:
我是这样解决的 :
网上的 转型方法 并不好使 ,我想了想 可能是由于返回值是String 我
就成功的解决错误了 。。下面是关于原理的讲解肯定方法不唯一 至于错误,的产生,这个肯能和数据库 myeclpise 之间的接口有关系 ,数据存储来回转换。这就当一个经验,有这个函数 ,以后项目有错误就这样解决。学以致用嘛,嘿嘿
java和数据库之间的日期和时间转换
第一种:
Date time= new java.sql.Date(new java.util.Date().getTime());
第二种:
java 用PreparedStatement来setDate,用问号的形式给日期问号赋值
pstmt.setTimestamp(8, new Timestamp(System.currentTimeMillis()));
pstmt.setDate(1, new java.sql.Date(date1.getTime()));
pstmt.setDate(2, new java.sql.Date(date2.getTime()));
第三:
其实向mysql数据库里插入时间字段也是很容易的,只要设置为java.util.Date类型后,以Hibernate的Pojo类对象为例,pojo.set(new java.util.Date());就可用了。
以下附录在网上找到的相关资料:
Mysql 与 java 的时间类型
MySql的时间类型有 Java中与之对应的时间类型
date java.sql.Date
Datetime java.sql.Timestamp
Timestamp java.sql.Timestamp
Time java.sql.Time
Year java.sql.Date
于是便通过以下方式去实现:
Date date = new Date();//获得系统时间.
String nowTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);//将时间格式转换成符合Timestamp要求的格式.
Timestamp goodsC_date = Timestamp.valueOf(nowTime);//把时间转换
java.util.Date 是java.sql.Date的父类