How do I insert date, without time, to MySQL database table? I tried these codes but I get the following exception:
com.mysql.jdbc.exceptions.jdbc4.MySQLSynt
First of all, to persist a java.util.Date
into a database in Java, you will have to convert it to java.sql.Date. The fortunate thing about JDBC SQL Date
is that it's a subclass of Java Date
.
Therefore, to create a java.sql.Date from java.util.Date
, you will have to do this:
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Date myDate = formatter.parse(date);
java.sql.Date sqlDate = new java.sql.Date(myDate.getTime());
db.insert_date(sqlDate);
Make sure that db.insert_date
accepts only java.sql.Date.
Where you will have to call your PreparedStatement.setDate()
function.
See the related question java.util.Date vs java.sql.Date.