Dapatkah seseorang memberi tahu saya bagaimana saya dapat menyimpan Tanggal Java ke tanggal waktu Mysql ...?
Ketika saya mencoba melakukannya ... hanya tanggal yang disimpan dan waktu tersisa 00:00:00 di toko tanggal Mysql seperti ini ...
2009-09-22 00:00:00
Aku tidak hanya ingin kencan tapi juga waktu ... suka
2009-09-22 08:08:11
Saya menggunakan JPA (Hibernate) dengan musim semi kelas mydomain menggunakan java.util.Date tetapi saya telah membuat tabel menggunakan kueri tulisan tangan ...
ini adalah pernyataan buat saya
CREATE TABLE ContactUs (id BIGINT auto_increment,
userName VARCHAR(30),
email VARCHAR(50),
subject VARCHAR(100),
message VARCHAR(1024),
messageType VARCHAR(15),
contactUsTime datetime,
primary key(id))
TYPE=InnoDB;
java.util.Date
sama sekali (pada tahun 2010 mungkin tidak ada pilihan yang lebih baik). Lebih baik menggunakan kelas modern, sepertijava.time.Instant
ataujava.time.LocalDateTime
, tergantung pada persyaratan pasti untuk tanggal-waktu yang Anda butuhkan untuk menyimpan.Jawaban:
lihat di link:
http://www.coderanch.com/t/304851/JDBC/java/Java-date-MySQL-date-conversion
Kode berikut baru saja menyelesaikan masalah:
' Saat ini ' ini dimasukkan ke dalam kolom yang tipenya adalah DateTime dan berhasil.
sumber
yyyy-MM-dd HH:mm:ss
sangat penting. Perhatikan kapitalisasi.Beri anotasi bidang Anda (atau pengambil) dengan
@Temporal(TemporalType.TIMESTAMP)
, seperti ini:Itu seharusnya berhasil.
sumber
Apakah Anda mungkin menggunakan
java.sql.Date
? Meskipun memiliki perincian milidetik sebagai kelas Java (ini adalah subkelas darijava.util.Date
, keputusan desain yang buruk), ini akan ditafsirkan oleh driver JDBC sebagai tanggal tanpa komponen waktu. Anda harus menggunakanjava.sql.Timestamp
sebagai gantinya.sumber
java.sql.Date
ataujava.sql.Timestamp
di kelas domain tapi saya rasa ini ditulis sebelum pengeditan OP.Mungkin karena tanggal java Anda memiliki format yang berbeda dari
mysql format
(YYYY-MM-DD HH:MM:SS
)melakukan hal ini
sumber
Anda akan mendapatkan format waktu 2011-07-18 +
sumber
datetime mysql -> GregorianCalendar
GregorianCalendar -> mysql datetime
sumber
sumber
Gunakan kode berikut untuk memasukkan tanggal ke dalam MySQL. Alih-alih mengubah format tanggal kami untuk memenuhi persyaratan MySql, kami dapat membantu basis data untuk mengenali tanggal kami dengan mengatur
STR_TO_DATE(?, '%l:%i %p')
parameter.Misalnya, 2014-03-12 dapat direpresentasikan sebagai
STR_TO_DATE('2014-03-12', '%Y-%m-%d')
sumber
Ini sangat sederhana meskipun kondisi dalam jawaban ini ada di mysql kolom datatype adalah datetime dan Anda ingin mengirim data dari kode java ke mysql:
java.util.Date dt = new java.util.Date ();
whatever your code object may be
.setDateTime (dt);sumber
Sebenarnya Anda tidak dapat menggunakan SimpleDateFormat, Anda dapat menggunakan sesuatu seperti ini;
Dengan cara ini Anda bisa langsung mendapatkan tanggal dengan format yang ditentukan.
sumber
Saya masih lebih suka metode dalam satu baris
sumber
itu berhasil untuk saya !!
di tabel mysql
dalam entitas:
dalam proses:
dalam persiapan
sumber