MySQL 如何在JDBC中处理日期

MySQL 如何在JDBC中处理日期

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

PreparedStatement

接口提供了一个名为

setDate()

的方法。通过这个方法,您可以将日期插入到表中。该方法接受两个参数:

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

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

阅读更多:MySQL 教程

示例

假设我们在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......");
   }
}

输出

连接已创建......
记录已插入......

如果您在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)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程