如何在JDBC中從表中檢索日期?


ResultSet 介面提供了一個名為 getDate() 的方法,此方法接受一個整型引數,表示需要從中檢索日期值的列的索引(或表示列名稱的字串引數)。要從表中檢索日期值,請執行以下操作:

  • 使用DriverManager類的registerDriver()方法註冊驅動程式類。將驅動程式類名作為引數傳遞給它。

  • 使用DriverManager類的getConnection()方法連線到資料庫。將URL(字串)、使用者名稱(字串)、密碼(字串)作為引數傳遞給它。

  • 使用Connection介面的createStatement()方法建立一個Statement物件。

  • 使用executeQuery()方法執行查詢。將檢索資料的select查詢(字串)作為引數傳遞給它。

  • 從獲得的結果集物件中,使用ResultSet介面的getDate()方法獲取日期值(以及其他值)。將列名(字串)作為引數傳遞給它。

示例

假設資料庫中有一個名為Emp的表,如下所示:

+--------+------------+----------------+
| Name   | DOB        | Location       |
+--------+------------+----------------+
| Amit   | 1989-09-26 | Hyderabad      |
| Sumith | 1989-09-01 | Vishakhapatnam |
| Sudha  | 1980-09-01 | Vijayawada     |
+--------+------------+----------------+

以下是一個JDBC示例,它使用ResultSet介面的getDate()和getString()方法從表中檢索日期和字串值。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class RetrievingDate {
   public static void main(String args[])throws Exception {
      //Registering the Driver
      DriverManager.registerDriver(new com.mysql.jdbc.Driver());
      //Getting the connection
      String mysqlUrl = "jdbc:mysql:///sampleDB";
      Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
      System.out.println("Connection established......");
      //Creating Statement object
      Statement stmt = con.createStatement();
      ResultSet rs = stmt.executeQuery("select * from Emp");
      //Retrieving values
      while(rs.next()) {
         System.out.print("Name: "+rs.getString("Name"));
         System.out.print(" Date of Birth: "+rs.getDate("DOB"));
         System.out.print(" Location: "+rs.getString("Location"));
         System.out.println();
      }
   }
}

輸出

Connection established......
Name: Amit Date Of Birth: 1989-09-26 Location: Hyderabad
Name: Sumith Date Of Birth: 1989-09-01 Location: Vishakhapatnam
Name: Sudha Date Of Birth: 1980-09-01 Location: Vijayawada

更新於:2019年7月30日

4K+ 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告