Rumah pangkalan data tutorial mysql SSH注解插入数据库时间类型 时分秒丢失的问题

SSH注解插入数据库时间类型 时分秒丢失的问题

Jun 07, 2016 pm 03:48 PM
ssh satu hilang masukkan pangkalan data masa anotasi menaip soalan

做一个CS结构的应用时,从客户端传一个时间的字符串到服务器端,结果发现时分秒丢失了。客户端是Android开发的,服务器端是SSH注解做的。 于是在百度中找了各种答案,第一种是说要在实体类的get方法上面添加@Temporal(TemporalType.TIMESTAMP)注解,果断添加

做一个CS结构的应用时,从客户端传一个时间的字符串到服务器端,结果发现时分秒丢失了。客户端是Android开发的,服务器端是SSH注解做的。

于是在百度中找了各种答案,第一种是说要在实体类的get方法上面添加@Temporal(TemporalType.TIMESTAMP)注解,果断添加上去,结果又报了错误。

1

<span style="font-size:18px;">org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager' defined in class path resource [applicationContext.xml]: Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is org.hibernate.AnnotationException: @Temporal should only be set on a java.util.Date or java.util.Calendar property: com.hpsvse.traffic.entity.Income.incomeDate</span>

Salin selepas log masuk

错误原因是说@Temporal 只支持java.util.Date 或 java.util.Calendar的参数。便又把返回值为java.sql.Timestamp的类型换成java.util.Date的类型,结果是虽然没报错,但是时分秒还是没有插入到数据库。

………………

纠结很久,突然眼前一亮,发现是不是长度设置不够长或者是我传入的日期格式有问题,因为我之前传的是 2015-03-24 10:22(缺少了秒),变将两种可能都尝试了一下:

第一种是吧length的属性值改为了50,发现并没有任何效果,如下:

1

2

@Temporal(TemporalType.TIMESTAMP)

@Column(name = "income_date", length = 50)

Salin selepas log masuk

1

 

Salin selepas log masuk
然后,尝试第二种:

把之前请求服务器的时间字符串2015-03-24 10:22在后面补了两个零,变成2015-03-24 10:22:00标准的yyyy-MM-dd HH-mm-ss的格式,结果奇迹就出现了。总结起来,其实之前都是一场闹剧,就是因为在时间后面少补了两个零。


最后在总结一下,让数据插入数据库其实很简单:

第一种方法,定义一个java.util.Date的类型,然后在生成的get方法上面加上一句@Temporal(TemporalType.TIMESTAMP)的注解,然后把属性length的长度改的长一点,感觉19就够用了。代码如下:

1

2

3

4

5

6

7

8

9

10

11

<span style="white-space:pre">    </span>private Date incomeDate;

     

    @Temporal(TemporalType.TIMESTAMP)

    @Column(name = "income_date", length = 19)

    public Date getIncomeDate() {

    <span style="white-space:pre">    </span>return this.incomeDate;

    }

 

    public void setIncomeDate(Date incomeDate) {

        this.incomeDate = incomeDate;

    }

Salin selepas log masuk
 第二种方法,直接定义一个java.sql.Timestamp的类型,如下:

1

2

3

4

5

6

7

8

9

10

<span style="white-space:pre">    </span>private Timestamp incomeDate;

     

    @Column(name = "income_date", length = 19)

    public Timestamp getIncomeDate() {

        return this.incomeDate;

    }

 

    public void setIncomeDate(Timestamp incomeDate) {

        this.incomeDate = incomeDate;

    }

Salin selepas log masuk
特别注意的是,传入的值一定要是标准的yyyy-MM-dd HH-mm-ss(如:2015-03-24 10:22:00)的格式,不能缺少任何一部分,要不然时分秒还是会丢失哦~

在此,非常感谢另一位牛人的博客指点,在此受小弟一拜了。http://blog.sina.com.cn/s/blog_82a09f100101a76j.html

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimanakah anotasi digunakan untuk kaedah ujian dalam rangka kerja JUnit? Bagaimanakah anotasi digunakan untuk kaedah ujian dalam rangka kerja JUnit? May 06, 2024 pm 05:33 PM

Anotasi dalam rangka kerja JUnit digunakan untuk mengisytiharkan dan mengkonfigurasi kaedah ujian Anotasi utama termasuk: @Ujian (pengisytiharan kaedah ujian), @Sebelum (kaedah dijalankan sebelum kaedah ujian dilaksanakan), @Selepas (kaedah dijalankan selepas kaedah ujian. dilaksanakan), @ BeforeClass (kaedah yang dijalankan sebelum semua kaedah ujian dilaksanakan), @AfterClass (kaedah yang dijalankan selepas semua kaedah ujian dilaksanakan), anotasi ini membantu mengatur dan memudahkan kod ujian dan meningkatkan kebolehpercayaan kod ujian dengan menyediakan niat dan konfigurasi yang jelas.

Bagaimanakah anotasi dalam perpustakaan Jackson mengawal pensirilan dan penyahsirilan JSON? Bagaimanakah anotasi dalam perpustakaan Jackson mengawal pensirilan dan penyahsirilan JSON? May 06, 2024 pm 10:09 PM

Anotasi dalam perpustakaan Jackson mengawal pensirilan dan penyahserilangan JSON: Pensirilan: @JsonIgnore: Abaikan harta @JsonProperty: Tentukan nama @JsonGetter: Gunakan kaedah get @JsonSetter: Gunakan kaedah yang ditetapkan Deserialization: @JsonIgnoreProperties: Abaikan harta @ JsonProperty: Nyatakan nama @JsonCreator: Gunakan pembina @JsonDeserialize: Logik tersuai

Bagaimanakah Hibernate melaksanakan pemetaan polimorfik? Bagaimanakah Hibernate melaksanakan pemetaan polimorfik? Apr 17, 2024 pm 12:09 PM

Pemetaan polimorfik hibernate boleh memetakan kelas yang diwarisi ke pangkalan data dan menyediakan jenis pemetaan berikut: subkelas bercantum: Cipta jadual berasingan untuk subkelas, termasuk semua lajur kelas induk. table-per-class: Cipta jadual berasingan untuk subkelas, yang mengandungi hanya lajur khusus subkelas. union-subclass: serupa dengan joined-subclass, tetapi jadual kelas induk menggabungkan semua lajur subclass.

iOS 18 menambah fungsi album 'Dipulihkan' baharu untuk mendapatkan semula foto yang hilang atau rosak iOS 18 menambah fungsi album 'Dipulihkan' baharu untuk mendapatkan semula foto yang hilang atau rosak Jul 18, 2024 am 05:48 AM

Keluaran terbaharu Apple bagi sistem iOS18, iPadOS18 dan macOS Sequoia telah menambah ciri penting pada aplikasi Photos, yang direka untuk membantu pengguna memulihkan foto dan video yang hilang atau rosak dengan mudah disebabkan pelbagai sebab. Ciri baharu ini memperkenalkan album yang dipanggil "Dipulihkan" dalam bahagian Alat pada apl Foto yang akan muncul secara automatik apabila pengguna mempunyai gambar atau video pada peranti mereka yang bukan sebahagian daripada pustaka foto mereka. Kemunculan album "Dipulihkan" menyediakan penyelesaian untuk foto dan video yang hilang akibat kerosakan pangkalan data, aplikasi kamera tidak disimpan ke pustaka foto dengan betul, atau aplikasi pihak ketiga yang menguruskan pustaka foto. Pengguna hanya memerlukan beberapa langkah mudah

Tutorial terperinci tentang mewujudkan sambungan pangkalan data menggunakan MySQLi dalam PHP Tutorial terperinci tentang mewujudkan sambungan pangkalan data menggunakan MySQLi dalam PHP Jun 04, 2024 pm 01:42 PM

Cara menggunakan MySQLi untuk mewujudkan sambungan pangkalan data dalam PHP: Sertakan sambungan MySQLi (require_once) Cipta fungsi sambungan (functionconnect_to_db) Fungsi sambungan panggilan ($conn=connect_to_db()) Laksanakan pertanyaan ($result=$conn->query()) Tutup sambungan ( $conn->close())

Peranan dan penggunaan anotasi dalam rangka kerja Google Guice Peranan dan penggunaan anotasi dalam rangka kerja Google Guice May 06, 2024 pm 04:21 PM

Anotasi adalah penting dalam Google Guice untuk mengisytiharkan kebergantungan, penyedia mengikat dan mengkonfigurasi tingkah laku suntikan. Pembangun boleh mengisytiharkan kebergantungan dengan menganotasi medan atau parameter pembina dengan @Inject, tandakan kaedah yang menyediakan kebergantungan dengan anotasi @Provides, dan mengikat penyedia serta mengkonfigurasi tingkah laku suntikan melalui modul Guice.

Apr 09, 2024 pm 12:36 PM

HTML tidak boleh membaca pangkalan data secara langsung, tetapi ia boleh dicapai melalui JavaScript dan AJAX. Langkah-langkah termasuk mewujudkan sambungan pangkalan data, menghantar pertanyaan, memproses respons dan mengemas kini halaman. Artikel ini menyediakan contoh praktikal menggunakan JavaScript, AJAX dan PHP untuk membaca data daripada pangkalan data MySQL, menunjukkan cara untuk memaparkan hasil pertanyaan secara dinamik dalam halaman HTML. Contoh ini menggunakan XMLHttpRequest untuk mewujudkan sambungan pangkalan data, menghantar pertanyaan dan memproses respons, dengan itu mengisi data ke dalam elemen halaman dan merealisasikan fungsi HTML membaca pangkalan data.

Apakah jenis nilai pulangan fungsi Golang? Apakah jenis nilai pulangan fungsi Golang? Apr 13, 2024 pm 05:42 PM

Fungsi Go boleh mengembalikan berbilang nilai jenis yang berbeza Jenis nilai pulangan ditentukan dalam tandatangan fungsi dan dikembalikan melalui penyata pulangan. Sebagai contoh, fungsi boleh mengembalikan integer dan rentetan: funcgetDetails()(int,string). Dalam amalan, fungsi yang mengira luas bulatan boleh mengembalikan kawasan dan ralat pilihan: funccircleArea(radiusfloat64)(float64,error). Nota: Jika tandatangan fungsi tidak menyatakan jenis, nilai nol dikembalikan; adalah disyorkan untuk menggunakan penyataan pulangan dengan pengisytiharan jenis eksplisit untuk meningkatkan kebolehbacaan.

See all articles