2017-12-31 29 views
0

私はMySQLテーブルを持っていて、いくつかのカラムは1つで、DATEタイプです。 今、Javaで私は列のフィールドを持っていますが、私はちょうど何をするか分からないの日付に到達したとき...Javaにmysqlの日付を格納するには、どのタイプの変数を使用するのですか?

package com.keeptrack.model; 
public class Racun { 
    int id; 
    String uplatilac; 
    String svrha_uplate; 
    String primalac; 
    int sifra_placanja; 
    String valuta; 
    Double iznos; 
    Long racun_primaoca; 
    int model; 
    String poziv_na_broj; 
    ?????? date; 
} 
+1

'LocalDateTime'? – Fureeish

+0

サンプルコードを最小限に抑えて、手元の問題に集中してください。 Stack Overflowは英語のサイトです。 –

+0

Javaの日付/時刻値をMySQLに格納するトピックは、何度も何度もカバーされています。投稿する前に検索し、あなたの質問がどのようにユニークであるか説明してください。 –

答えて

4

java.time.LocalDate

MySQLのDATEタイプが持つ値のために使用されています日付部分は時間部分がないので、LocalDate APIを使用する方がよいでしょう。

もう1つの変形は、LocalDateTime APIです。日付と時刻を表す場合、つまりMySQLのDATETIMEタイプでは、クライアント側(Javaプログラム)で表現するにはLocalDateTimeオブジェクトが必要です。

脇に、フィールドを外部に公開しないようにしてください。それらをすべてprivateにしてカプセル化を強制し、必要な場合にのみゲッターとセッターを提供してください。

+0

OK ty、私はLocalDateを試してみましたが、それはうまくいきましたが、プログラムの後半でPreparedStatement psというものがありました...そして、ps.setDate(10、r.date); LocalDateはDateに変換できないので、Dateとインポートされたjava.sql.Dateを使用しています。 –

+1

@AleksandarStojanovic JDBCでjava.timeを使用するには、JDBC 4.2以降に準拠したJDBCドライバが必要です。 'myPreparedStatement.setObject(...、myLocalDate);' MySQLの 'DATE'カラムの場合。 –

関連する問題