Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

จัดการวันที่ใน JDBC


Insert ค่าวันที่ใน SQL 用 datatype DATE คลาส java.sql.Date map กับ SQL DATE

PreparedStatement มีเมธอด setDate() สำหรับ insert วันที่ รับ 2 พารามิเตอร์:

  • index ของ placeholder (int)
  • object java.sql.Date คอนสตรัคเตอร์รับ long milliseconds นับจาก epoch (Jan 1, 1970, 00:00:00 GMT)

ตัวอย่าง

ตาราง Emp:

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

โปรแกรม insert วันที่:

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)