如何在JDBC中处理日期?

您可以使用日期数据类型在SQL中插入日期值。java.sql.Date类映射到SQL DATE类型。

PreparedStatement接口提供了一个名为方法的setDate() 。使用此功能,您可以将日期插入表格中。此方法接受两个参数-

  • 一个整数,表示我们需要设置日期值的占位符(?)的参数索引。

  • 一个Date对象,代表要传递的日期值。java.sql.Date类的构造函数接受一个long类型的变量,该变量表示从纪元(标准基准时间,即1970年1月1日,格林尼治标准时间0:00,00)开始的毫秒数。

示例

假设我们已经在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 {

      //获得连接

      String mysqlUrl = "jdbc:mysql://localhost/sampleDB";

      Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");

      System.out.println("Connection established......");

      //将值插入表

      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)

以上是 如何在JDBC中处理日期? 的全部内容, 来源链接: utcz.com/z/338345.html

回到顶部