Java sql.Date setTime() 方法及示例。
在这个程序中,我们将使用 JDBC 连接到 MySQL 数据库,向 dispatches 表插入一条新记录,并从表中检索所有记录。来自 java.util 包 的Date 类的setTime() 方法接受一个长整型变量,表示从纪元时间(1970年1月1日,00:00:00.000 GMT)到所需时间的毫秒数,并将指定的时间值设置为当前 Date 对象。
//Setting time date.setTime(time_value_in_long);
该程序的目标是演示如何使用 JDBC 与数据库交互,以及如何在 Java 中处理日期和时间对象。
使用 setTime() 方法插入和检索记录的步骤
以下是使用 setTime() 方法插入和检索记录的步骤:
- 首先,我们将使用 DriverManager.registerDriver() 注册MySQL的JDBC 驱动程序。
- 我们将建立一个数据库连接以连接到MySQL 数据库。
- 创建一个Date 类的实例,并使用setTime() 方法设置当前时间。
- 使用 PreparedStatement 准备一个SQL INSERT 查询,并将值绑定以插入新记录。
- 执行INSERT 语句,将新记录添加到 dispatches 表。
- 创建一个 Statement 并执行一个SELECT 查询,以从 dispatches 表检索所有记录。
- 循环遍历结果集并显示每条记录的详细信息
使用 setTime() 方法插入和检索记录的 Java 程序
让我们使用 CREATE 语句在 MySQL 数据库中创建一个名为dispatches的表,如下所示:
CREATE TABLE dispatches( ProductName VARCHAR(255), CustomerName VARCHAR(255), DispatchDate date, DeliveryTime time, Price INT, Location VARCHAR(255));
现在,我们将使用 INSERT 语句在dispatches表中插入 5 条记录:
insert into dispatches values('Key-Board', 'Raja', DATE('2019-09-01'), TIME('11:00:00'), 7000, 'Hyderabad'); insert into dispatches values('Earphones', 'Roja', DATE('2019-05-01'), TIME('11:00:00'), 2000, 'Vishakhapatnam'); insert into dispatches values('Mouse', 'Puja', DATE('2019-03-01'), TIME('10:59:59'), 3000, 'Vijayawada'); insert into dispatches values('Mobile', 'Vanaja', DATE('2019-03-01'), TIME('10:10:52'), 9000, 'Chennai'); insert into dispatches values('Headset', 'Jalaja', DATE('2019-04-06'), TIME('11:08:59'), 6000, 'Goa');
下面的 JDBC 示例通过传递所需的值将新记录插入dispatches表。
import java.sql.Connection; import java.sql.Date; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.sql.Time; public class Date_setTime { public static void main(String args[]) throws SQLException { //Registering the Driver DriverManager.registerDriver(new com.mysql.jdbc.Driver()); //Getting the connection String mysqlUrl = "jdbc:mysql://127.0.0.1/mydatabase"; Connection con = DriverManager.getConnection(mysqlUrl, "root", "password"); System.out.println("Connection established......"); //Instantiating the Time class Date date = new Date(0L); //Setting time date.setTime(new java.util.Date().getTime()); //Creating a Prepared Statement String query = "INSERT INTO Dispatches VALUES (?, ?, ?, ?, ?, ?)"; PreparedStatement pstmt = con.prepareStatement(query); pstmt.setString(1, "Watch"); pstmt.setString(2, "Rajan"); pstmt.setDate(3, date); pstmt.setTime(4, new Time(date.getTime())); pstmt.setInt(5, 4000); pstmt.setString(6, "Chennai"); pstmt.execute(); System.out.println("Rows inserted ...."); //Retrieving values Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("select * from dispatches"); while(rs.next()) { System.out.println("Product Name: "+rs.getString("ProductName")); System.out.println("Customer Name: "+rs.getString("CustomerName")); System.out.println("Date Of Dispatch: "+rs.getDate("DispatchDate")); System.out.println("Delivery Time: "+rs.getTime("DeliveryTime")); System.out.println("Location: "+rs.getString("Location")); System.out.println(); } } }
在这里,在这个程序中,我们通过向其构造函数传递 0L 来实例化 Date 类(纪元时间:1970-01-01 05:30:00.0),并使用 setTime() 方法将其时间更改为当前时间。
我们尝试将此时间值插入此记录的 DeliveryTime 列中。
输出
Connection established...... Rows inserted .... Product Name: Key-Board Customer Name: Raja Date Of Dispatch: 2019-09-01 Delivery Time: 11:00:00 Location: Hyderabad Product Name: Earphones Customer Name: Roja Date Of Dispatch: 2019-05-01 Delivery Time: 11:00:00 Location: Vishakhapatnam Product Name: Mouse Customer Name: Puja Date Of Dispatch: 2019-03-01 Delivery Time: 10:59:59 Location: Vijayawada Product Name: Mobile Customer Name: Vanaja Date Of Dispatch: 2019-03-01 Delivery Time: 10:10:52 Location: Chennai Product Name: Headset Customer Name: Jalaja Date Of Dispatch: 2019-04-06 Delivery Time: 11:08:59 Location: Goa Product Name: Watch Customer Name: Rajan Date Of Dispatch: 2019-03-28 Delivery Time: 17:49:35 Location: Chennai
代码解释
在这个程序中,我们首先使用JDBC 驱动程序建立与MySQL 数据库的连接。然后,我们实例化Date 类,并使用setTime() 方法设置当前时间。创建一个 PreparedStatement 来插入新记录,包括产品详细信息,例如名称、客户和价格。当前日期和时间存储在DispatchDate 和DeliveryTime 列中。插入后,SELECT 查询将检索 dispatches 表中的所有记录,并显示产品详细信息以及调度和交付时间。
广告