Управление датами и временными метками MySQL в Java
При работе с базой данных MySQL из приложения Java обработка информации о дате и времени может быть сложной задачей. проблема из-за различных доступных типов данных. Чтобы найти подходящий компромисс, важно понимать характеристики каждого типа.
Представление в Java
В Java даты обычно представляются с помощью java.util. Класс даты. Этот класс инкапсулирует метку времени, которая содержит информацию о дате и времени. Точность java.util.Date обычно составляет миллисекунды.
Представление в MySQL
MySQL предлагает три стандартных типа даты и времени: DATE, TIME и TIMESTAMP. В JDBC эти типы сопоставляются с java.sql.Date, java.sql.Time и java.sql.Timestamp соответственно. Эти классы являются подклассами java.util.Date.
В отличие от java.util.Date, java.sql.Date содержит только информацию о дате, а java.sql.Time содержит только информацию о времени. java.sql.Timestamp, с другой стороны, объединяет информацию о дате и времени. Точность этих типов зависит от базы данных, но часто она измеряется миллисекундами.
Сохранение временных меток
Чтобы сохранить временную метку в базе данных, вы можете использовать ReadedStatement# Метод setTimestamp().
java.util.Date date = getItSomehow();
Timestamp timestamp = new Timestamp(date.getTime());
preparedStatement = connection.prepareStatement("SELECT * FROM tbl WHERE ts > ?");
preparedStatement.setTimestamp(1, timestamp);
Получение временных меток
Чтобы получить временную метку из базы данных, вы можете использовать метод ResultSet#getTimestamp().
Timestamp timestamp = resultSet.getTimestamp("ts");
java.util.Date date = timestamp; // You can just upcast.
Понимая эти различные типы данных и шаблоны их использования, вы можете эффективно управлять датами и временными метками в своем Java-приложении при взаимодействии с базой данных MySQL.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3