Как мне обработать значение типа Date в DBUtil - PullRequest
0 голосов
/ 03 июля 2018

Я устанавливаю значения для отправки запросов в моем файле DBUtil, однако два значения: start, end - это значение типа Date в форме HTML5 и в базе данных MySQL. Как мне обработать их в моем файле DBUtil при настройке?

myStmt.setInt(1, theBook.getNumber());
myStmt.setInt(2, theBook.getPhone());
myStmt.setDate(3, theBook.getStart());
myStmt.setDate(4, theBook.getEnd());
myStmt.setString(5, theBook.getName());

в моем классе Java, DBUtil и Servlet я импортировал java.util.Date. Если я использую (как в приведенном выше exaomle) myStmt.setDate (X, значение), я получаю ошибку: java.util.date не может быть преобразован в java.sql.date

Ответы [ 2 ]

0 голосов
/ 03 июля 2018

Если вы используете Java8 + и Jdbc 4.x, вы можете использовать java.time API с setObject вместо java.util.Date, где вы также можете использовать LocalDateTime с идентификатором своей зоны следующим образом :

LocalDateTime startDate = ...
LocalDateTime endDate = ...
myStmt.setObject(4, startDate);
myStmt.setObject(5, endDate);

Если вы придерживаетесь Java 7 или менее, вы можете увидеть эту ссылку:

0 голосов
/ 03 июля 2018

Вам необходимо использовать java.sql.Date:

myStmt.setDate(3, new java.sql.Date(theBook.getStart().getTime()));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...