如何在 JDBC 中从表中检索日期?

jdbcjava 8object oriented programmingprogramming

ResultSet 接口提供了一个名为 getDate() 的方法,该方法接受一个表示列索引的整数参数(或一个表示列名称的字符串参数),您需要从该列中检索日期值。要从表中检索日期值 −

  • 使用 DriverManager 类的 registerDriver() 方法注册驱动程序类。将驱动程序类名称作为参数传递给它。

  • 使用 DriverManager 类的 getConnection() 方法连接到数据库。将 URL(字符串)、用户名(字符串)、密码(字符串)作为参数传递给它。

  • 使用 Connection 接口的 createStatement() 方法创建一个 Statement 对象。

  • 使用 executeQuery() 方法执行查询。将用于检索数据(字符串)的选择查询作为参数传递给它。

  • 使用 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 {
      //注册驱动程序
      DriverManager.registerDriver(new com.mysql.jdbc.Driver());
      //获取连接
      String mysqlUrl = "jdbc:mysql://localhost/sampleDB";
      Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
      System.out.println("连接已建立......");
      //创建 Statement 对象
      Statement stmt = con.createStatement();
      ResultSet rs = stmt.executeQuery("select * from Emp");
      //检索值
      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();
      }
   }
}

输出

连接已建立......
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

相关文章