我想知道如何使用Java JDBC将Date值设置为MySQL数据库.以下是我的代码.
String lastCrawlDate = "2014-01-28"
PreparedStatement p = con.prepareStatement("insert into JsonData (last_crawl_date) values(?))");
p.setDate(1, Date.valueOf(lastCrawlDate));
如您所见,lastCrawlDate是一个String,格式为yyyy / mm / dd.
以下是我的表格如何以及如何定义日期字段.
我怎样才能做到这一点?
解决方法:
PreparedStatement
提供方法setDate(..)
,setTimestamp(..)
和setTime(..)
以用日期类型字段替换占位符(?).使用它们
String lastCrawlDate = "2014-01-28";
Date utilDate = new SimpleDateFormat("yyyy-MM-dd").parse(lastCrawlDate);
// because PreparedStatement#setDate(..) expects a java.sql.Date argument
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
Connection con = ...;
PreparedStatement p = con.prepareStatement("insert into JsonData (last_crawl_date) values(?))");
p.setDate(1, sqlDate);