JDBC:将日期值插入MySQL

Pea*_*Gen 7 java mysql sql date jdbc

我想知道如何使用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));
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,它lastCrawlDate是a String和格式的yyyy/mm/dd.

以下是我的表格如何以及如何Date定义字段.

在此输入图像描述

我怎样才能做到这一点?

Sot*_*lis 12

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);
Run Code Online (Sandbox Code Playgroud)