code: public void setTime(final int parameterIndex, final Time time, final Calendar cal) throws SQLException {
  //        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
  //        sdf.setCalendar(cal);
          if(time == null) {
              setNull(parameterIndex, Types.TIME);
              return;
          }
  
  
          setParameter(parameterIndex, new TimeParameter(time.getTime()));
      }
docs: Sets the designated parameter to the given <code>java.sql.Time</code> value, using the given
  <code>Calendar</code> object.  The driver uses the <code>Calendar</code> object to construct an SQL
  <code>TIME</code> value, which the driver then sends to the database.  With a <code>Calendar</code> object, the
  driver can calculate the time taking into account a custom timezone.  If no <code>Calendar</code> object is
  specified, the driver uses the default timezone, which is that of the virtual machine running the application.
  
  @param parameterIndex the first parameter is 1, the second is 2, ...
  @param time           the parameter value
  @param cal            the <code>Calendar</code> object the driver will use to construct the time
  @throws java.sql.SQLException if parameterIndex does not correspond to a parameter marker in the SQL statement;
  if a database access error occurs or this method is called on a closed
  <code>PreparedStatement</code>
  @since 1.2