How to insert Date into MySQL Database table in Java?

后端 未结 2 1153
离开以前
离开以前 2021-01-07 01:28

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         


        
2条回答
  •  北荒
    北荒 (楼主)
    2021-01-07 02:04

    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.

提交回复
热议问题