使用PreparedStatement插入Date类型数据
-
类型转换
1234java.util.Date nowDate = new java.util.Date(); // Thu Sep 25 00:05:22 CST 2014java.sql.Time time = new java.sql.Time(nowDate.getTime()); // 00:05:22java.sql.Date date = new java.sql.Date(nowDate.getTime()); // 2014-09-25java.sql.Timestamp timestamp = new java.sql.Timestamp(nowDate.getTime()); //2014-09-25 00:05:22.913 -
类型关系
PreparedStatement提供了三种日期类型对应JDBC中的三种日期类型(TIME, DATE,TIMESTAMP):
- java.sql.Time 只保存时间;时分秒,没有任何日期信息。
- java.sql.Date 只保存日期;年月日,没有任何时间信息。
- java.sql.Timestamp 保存日期及时间;日期+时间+微秒。
-
所有的日期都可以通过毫秒(从1970.1.1 0h0m0s已经过去的毫秒数)来构造, 如:
- Timestamp timestamp = new java.sql.Timestamp((new java.util.Date()).getTime());
- 都继承自java.util.Date;
- 虽然java.util.Date也保存时期及时间但是没有保存微秒(nanosecond)。
-
最新评论
昨天发现的,然后在application.yml中配置“hibernate.dialect.storage_engine=innodb”。但是自动生成的表还是不会设置为innoDB,看了底层源码。这个配置也是没有加载到的 原来是要在hibernate.properties中加这个配置。感谢
将virtualbox虚拟网卡驱动卸载了,然后就会好了,但是这个时候virtualbox虚拟网络就无法使用了,重新安装一下virtualbox就好了
我也发现了这个注释:注释“Use "hibernate.dialect.storage_engine=innodb" environment variable or JVM system property instead.” ----- 坑啊。。。。。。。
卸载蓝牙驱动·在设备里面找,一般在网卡那里 卸载重启就行了
高