How can we set time in a table in JDBC?

JDBCJava 8Object Oriented ProgrammingProgramming

You can insert time values in SQL using the time datatype, The java.sql.Time class maps to the SQL Time type.

The PreparedStatement interface provides a method named setTime(). Using this you can insert time into a table. This method accepts two parameters −

  • An integer representing the parameter index of the place holder (?) to which we need to set date value.

  • A Time object representing the time value to be passed. The constructor of java.sql.Time class accepts a variable of long type representing the number of milliseconds from the epoch (standard base time I.e. January 1, 1970, 00:00:00 GMT).


Assume we have created a table named Dispatches in MySQL database with the following description −

| Field            | Type         | Null | Key | Default | Extra |
| Product_Name     | varchar(255) | YES  |     | NULL    |       |
| Date_Of_Dispatch | date         | YES  |     | NULL    |       |
| Time_Of_Dispatch | time         | YES  |     | NULL    |       |
| Location         | varchar(255) | YES  |     | NULL    |       |

Following JDBC program inserts records in to this table −

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.Time;
import java.sql.Date;
public class InsertingTime {
   public static void main(String args[])throws Exception {
      //Getting the connection
      String mysqlUrl = "jdbc:mysql://localhost/sampleDB";
      Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
      System.out.println("Connection established......");
      //Inserting values to a table
      String query = "INSERT INTO Dispatches VALUES (?, ?, ?, ?)";
      PreparedStatement pstmt = con.prepareStatement(query);
      pstmt.setString(1, "KeyBoard"); pstmt.setDate(2, new Date(1567296000000L));
      pstmt.setTime(3, new Time(1567296000000L));
      pstmt.setString(4, "Hyderabad");
      pstmt.setString(1, "Earphones"); pstmt.setDate(2, new Date(1556668800000L));
      pstmt.setTime(3, new Time(1556668800000L));
      pstmt.setString(4, "Vishakhapatnam");
      pstmt.setString(1, "Mouse"); pstmt.setDate(2, new Date(1551398399000L));
      pstmt.setTime(3, new Time(1551398399000L));
      pstmt.setString(4, "Vijayawada");
      System.out.println("Records inserted......");


Connection established......
Records inserted......
Published on 22-Mar-2019 17:00:20