java对数据库中Date类型的处理

想必在日常的敲代码生活总,用java操作数据库中的Date类型是不同于其他的,因为Date在导包的时候就分为

import java.sql.Date;
import java.util.Date

这两种情况,他们也是互相不互通的的两个东西,需要绕一点弯才可以互相转化,下面来说我所知道的一个方法:

util转sql(java的Date存入数据库的Date)

1将输入的字符串类型转为Date
import java.util.Date
Date date = new Date("1990-02-04");
2将Date转为时间戳
long time = date.getTime();
3将时间戳为符合sql的Date类型
import java.sql.Date;
//经过这个操作以后,这个sqlDate就是可以直接存入数据库得日期类型了
Date sqlDate = new Date(time);
//比如如下代码片段
			String sql = "insert into user values (?,?)";
			statement = connection.prepareStatement(sql);
			statement.setInt(1, user.getId());
			//这里重点
			statement.setDate(2, sqlDate);
			//执行sql语句
			executeUpdate = statement.executeUpdate();

另外几种想法

用Date.valueof方法,能够最最少步骤得将字符串类型转为Date类型,都不用SimpleDateFormat就行,不过得注意:
java.sql.Date.valueOf(String s)的s格式必须为YYYY-MM-DD格式

import java.sql.Date;
//如果直接是字符串的话可以直接用valueof
String string = "1990-02-04";
Date sqlDate1 = Date.valueOf(string);
//如果是Date类型的话先转为字符串类型,
//比如Date date = new Date("1990-02-04");
Date sqlDate2 = Date.valueOf(date .toString())

本菜鸡是新手,欢迎各位大佬指点。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐