For this, you can use PreparedStatement from Java. Let us first create a table wherein one of the columns is ArrivalDate with DATE type −
mysql> create table DemoTable( PassengerId int, PassengerName varchar(40), ArrivalDate date ); Query OK, 0 rows affected (0.82 sec)
The JAVA code is as follows to insert date −
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class InsertDateFromJava {
public static void main(String[] args) {
Connection con = null;
PreparedStatement ps = null;
try {
java.util.Date javaDate = new java.util.Date();
java.sql.Date mySQLDate = new java.sql.Date(javaDate.getTime());
con = DriverManager.getConnection("jdbc :mysql ://localhost :3306/web?useSSL=false", "root","123456");
String query = "insert into DemoTable(PassengerId,PassengerName,ArrivalDate) values(?,?,?) ";
ps = con.prepareStatement(query);
ps.setInt(1, 101);
ps.setString(2, "Adam");
ps.setDate(3, mySQLDate);
ps.executeUpdate();
System.out.println("Record is inserted with current Date......");
} catch (Exception e) {
e.printStackTrace();
}
}
}This will produce the following output of Java −
Record is inserted with current Date......
Following is the screenshot of the output −

Let us check the records of the table again −
mysql> select * from DemoTable;
This will produce the following output −
+-------------+---------------+-------------+ | PassengerId | PassengerName | ArrivalDate | +-------------+---------------+-------------+ | 101 | Adam | 2019-09-07 | +-------------+---------------+-------------+ 1 row in set (0.00 sec)
The screenshot is as follows −
