Java 与 MySQL 交互的数据类型
java1.1时,从 MySQL 中查询出来的时间日期类型,都放在 java.util.Date 类型里面了,但是这个类提供的时间操作函数太少,一般都需要转换成 java.util.Calendar 再去操作。然而使用了 java.util.Calendar 也不是很方便,一个很简单的想法,需要写很多代码才能实现。于是java 提供与 MySQL 方便交互的三种数据类型:java.sql.Date、java.sql.Time、java.sql.Timestamp,它们都是继承 java.util.Date,适合用于跟数据库交互。
MySQL 中的时间类型和对应的 Java 类型:
MySQL中的时间类型 | 对应的 Java 类型 |
Date | java.sql.Date |
Year | java.sql.Date |
Time | java.sql.Time |
Datetime | java.sql.Timestamp |
Timestamp | java.sql.Timestamp |
Java 各种 Date 格式之间的转换
将 java.util.Date 格式转换成 String 格式:
Date date = new Date(); // 获取当前系统时间
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 设置日期格式
String strTime = simpleDateFormat.format(date); // 格式转换
System.out.println(strTime); // 2019-06-10 17:32:05
将 java.util.Date 格式转换成 java.sql.Date 格式:
Date date = new Date();
long longTime = date.getTime(); // 2019061017320511
java.sql.Date sDate = new java.sql.Date(longTime);
System.out.println(sDate); // 2019-06-10
将 java.util.Date 格式转换成 Timestamp 格式:
Date date = new Date();
Timestamp timestamp = new Timestamp(date.getTime());
System.out.println(timestamp); // 2019-06-10 17:32:05.11
将 String 格式转换成 java.util.Date 格式:
String strTime = "2019-06-10 17:32:05";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = null;
try {
date = simpleDateFormat.parse(strTime);
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println(date); // Mon Jun 10 17:32:05 GMT+08:00 2019