jdbc的Date类型处理,解决java.util.date与java.sql.date的时间数据丢失
2011-09-22 00:01
836 查看
java.sql.Date 在jdbc使用时会用到,但是问题是只存储日期数据不存储时间数据。会丢失时间数据:
preparedStatement.setDate(1, new java.sql.Date(date.getTime()));
解决的方法是:preparedStatement.setTimestamp(1, new java.sql.Timestamp(new java.util.Date().getTime()));
使用java.sql.timestamp类。
同理,想要得到完整的数据,包括日期和时间,可以这样
java.util.Date d = resultSet.getTimestamp(1);
但是,这样处理更合适一些,可以避免一些潜在Timestamp 问题
java.util.Date d = new java.util.Date(resultSet.getTimestamp(1).getTime());
总之,往数据库存储的时候可以接收 java.util.Date类型,再用getTime()方法得到代表那个Date对象的long值,再以这个long值构造一个Timestamp对象存进数据库中。从存数据库里取的时候,可以先得到Timestamp用他的getTime()方法得到long值,再以这个long值构造一个java.util.Date对象,这样就可以对这个Date对象操作了。
没有用java.sql.Date类。
preparedStatement.setDate(1, new java.sql.Date(date.getTime()));
解决的方法是:preparedStatement.setTimestamp(1, new java.sql.Timestamp(new java.util.Date().getTime()));
使用java.sql.timestamp类。
同理,想要得到完整的数据,包括日期和时间,可以这样
java.util.Date d = resultSet.getTimestamp(1);
但是,这样处理更合适一些,可以避免一些潜在Timestamp 问题
java.util.Date d = new java.util.Date(resultSet.getTimestamp(1).getTime());
总之,往数据库存储的时候可以接收 java.util.Date类型,再用getTime()方法得到代表那个Date对象的long值,再以这个long值构造一个Timestamp对象存进数据库中。从存数据库里取的时候,可以先得到Timestamp用他的getTime()方法得到long值,再以这个long值构造一个java.util.Date对象,这样就可以对这个Date对象操作了。
没有用java.sql.Date类。
相关文章推荐
- 解决axis2处理java.util.Date类型对象时丢弃时间部分的问题
- java获取获得Timestamp类型的当前系统时间。以及java.util.date 、java.sql.Date之间的转换
- java.sql.SQLException: ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 BINARY 解决
- JAVA 处理时间 - java.sql.Date、java.util.Date与数据库中的Date字段的转换方法[转]
- 解决mysql 数据库中日期类型00:00:00 的问题 设置xml数据类型:java.util.Date
- ActionForm使用java.util.Date数据类型解决方法(转)
- JAVA 处理时间 - java.sql.Date、java.util.Date与数据库中的Date字段的转换方法
- JSONObject处理Date类型 java.sql.Date 转化java.util.Date 问题
- JAVA 处理时间 - java.sql.Date、java.util.Date与数据库中的Date字段的转换方法[转]
- JAVA 处理时间 - java.sql.Date、java.util.Date与数据库中的Date字段的转换方法
- java.util.Date和java.sql.Date转换 时间丢失
- JAVA 处理时间 - java.sql.Date、java.util.Date与数据库中的Date字段的转换方法
- JAVA 处理时间 - java.sql.Date、java.util.Date与数据库中的Date字段的转换方法
- JAVA 处理时间 - java.sql.Date、java.util.Date与数据库中的Date字段的转换方法
- 解决mysql 数据库中日期类型00:00:00 的问题 设置xml数据类型:java.util.Date
- easyui datetimebox处理【前台传递到后台是string类型,但是后台定义的是java.util.date,如何自动转换数据类型】
- JAVA 处理时间 - java.sql.Date、java.util.Date与数据库中的Date字段的转换方法[转]
- JAVA 处理时间 - java.sql.Date、java.util.Date与数据库中的Date字段的转换方法 转载自:
- jdbc-mysql基础 java.util.sql.date与mysql中date类型相对应可以相互访问
- JAVA 处理时间 - java.sql.Date、java.util.Date与数据库中的Date字段的转换方法[转]