MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

JDBCで日付を処理する方法は?


日付データ型を使用してSQLに日付値を挿入できます。java.sql.DateクラスはSQLDATE型にマップされます。

プリペアドステートメント インターフェイスは、 setDate()という名前のメソッドを提供します 。これを使用して、テーブルに日付を挿入できます。このメソッドは2つのパラメーターを受け入れます-

  • 日付値を設定する必要があるプレースホルダー(?)のパラメーターインデックスを表す整数。

  • 渡される日付値を表すDateオブジェクト。 java.sql.Dateクラスのコンストラクターは、エポックからのミリ秒数を表すlong型の変数を受け入れます(標準の基準時間、つまり1970年1月1日00:00:00 GMT)。

MySQLデータベースにEmpという名前のテーブルを次の説明で作成したと仮定します-

+----------+--------------+------+-----+---------+-------+
| Field    | Type         | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| Name     | varchar(255) | YES  |     | NULL    |       |
| DOB      | date         | YES  |     | NULL    |       |
| Location | varchar(255) | YES  |     | NULL    |       |
+----------+--------------+------+-----+---------+-------+

次のJDBCプログラムは、このテーブルにレコードを挿入します-

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.Date;
public class InsertingDate {
   public static void main(String args[])throws Exception {
      //Getting the connection
      String mysqlUrl = "jdbc:mysql://localhost/sampleDB";
      Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
      System.out.println("Connection established......");
      //Inserting values to a table
      String query = "INSERT INTO Emp(Name, DOB, Location) VALUES (?, ?, ?)";
      PreparedStatement pstmt = con.prepareStatement(query);
      pstmt.setString(1, "Amit"); pstmt.setDate(2, new Date(622790105000L));
      pstmt.setString(3, "Hyderabad");
      pstmt.execute();
      pstmt.setString(1, "Sumith"); pstmt.setDate(2, new Date(620611200000L));
      pstmt.setString(3, "Vishakhapatnam");
      pstmt.execute();
      pstmt.setString(1, "Sudha");
      pstmt.setDate(2, new Date(336614400000L));
      pstmt.setString(3, "Vijayawada");
      pstmt.execute();
      System.out.println("Records inserted......");
   }
}

出力

Connection established......
Records inserted......

MySQLデータベースのテーブルを確認すると、テーブルの内容を-

として確認できます。
mysql> select * from Emp;
+--------+------------+----------------+
| Name   | DOB        | Location       |
+--------+------------+----------------+
| Amit   | 1989-09-26 | Hyderabad      |
| Sumith | 2019-03-19 | Vishakhapatnam |
| Sudha  | 2019-03-19 | Vijayawada     |
+--------+------------+----------------+
3 rows in set (0.00 sec)

  1. JSPで日付を解析する方法は?

    タグは日付の解析に使用されます。 属性 タグには次の属性があります- 属性 説明 必須 デフォルト 値 読み取る(解析する)日付値 いいえ 体 タイプ 日付、時刻、または両方 いいえ 日付 dateStyle FULL、LONG、MEDIUM、SHORT、またはDEFAULT いいえ デフォルト timeStyle FULL、LONG、MEDIUM、SHORT、またはDEFAULT いいえ デフォルト parseLocale 日付を解析するときに使用するロケール いいえ デフォルトのロケール パターン カスタム解析パターン いいえ なし

  2. JSPで日付をフォーマットする方法は?

    タグは、さまざまな方法で日付をフォーマットするために使用されます。 属性 タグには次の属性があります- 属性 説明 必須 デフォルト 値 表示する日付値 はい なし タイプ 日付、時刻、または両方 いいえ 日付 dateStyle FULL、LONG、MEDIUM、SHORT、またはDEFAULT いいえ デフォルト timeStyle FULL、LONG、MEDIUM、SHORT、またはDEFAULT いいえ デフォルト パターン カスタムフォーマットパターン いいえ なし timeZone 表示された日付のタイムゾーン いいえ デフ