Существует метод setTime(Time x)
в PreparedStatement
, и вы можете преобразовать LocalTime
в java.sql.Time
:
LocalTime localTime = localTime.now();
preparedStatement.setTime(1, Time.valueOf(localTime);
РЕДАКТИРОВАТЬ
Если ваши данныевведите в базу данных DateTime
, затем вам нужно будет передать полную метку времени, java.sql.Timestamp
, которая также включает информацию о дате, а не только о времени.
Если вы хотите использовать java.time
затем вы можете использовать LocalDateTime
вместо LocalTime
и преобразовать его в метку времени (и наоборот):
LocalDateTime now = LocalDateTime.now();
preparedStatement.setTimestamp(1, Timestamp.valueOf(now));
Если в базе данных имеется тип данных DATETIME
столбец, и вы хотите установить время как LocalTime
, используйте LocalDate.now()
, чтобы создать экземпляр LocalDateTime
с вашим LocalTime
, а затем добавить его в качестве параметра запроса:
// use your instance of LocalTime (now() is just an example)
LocalTime timeNow = LocalTime.now();
// get the date of today (or maybe another specific one)
LocalDate today = LocalDate.now();
// combine them
LocalDateTime now = LocalDateTime.of(today, timeNow);
// add the converted combination as parameter
preparedStatement.setTimestamp(1, Timestamp.valueOf(now));