Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

JDBC에서 날짜를 처리하는 방법?

<시간/>

날짜 데이터 유형을 사용하여 SQL에 날짜 값을 삽입할 수 있습니다. java.sql.Date 클래스는 SQL DATE 유형에 매핑됩니다.

PreparedStatement 인터페이스는 setDate()라는 메서드를 제공합니다. . 이것을 사용하여 테이블에 날짜를 삽입할 수 있습니다. 이 메소드는 두 개의 매개변수를 받습니다 -

  • 날짜 값을 설정해야 하는 자리 표시자(?)의 매개변수 인덱스를 나타내는 정수입니다.

  • 전달할 날짜 값을 나타내는 Date 개체입니다. java.sql.Date 클래스의 생성자는 epoch(표준 기본 시간, 즉 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)