如何处理DBUtil中的日期类型值

时间:2018-07-03 20:40:01

标签: java mysql servlets jdbc compiler-errors

我正在设置值以在我的DBUtil文件中发送查询,但是有两个值:开始,结束-是HTML5表单和MySQL DB中的日期类型值。设置时如何在DBUtil文件中处理它们?

myStmt.setInt(1, theBook.getNumber());
myStmt.setInt(2, theBook.getPhone());
myStmt.setDate(3, theBook.getStart());
myStmt.setDate(4, theBook.getEnd());
myStmt.setString(5, theBook.getName());
在我的Java类DBUtil和Servlet中,

我导入了java.util.Date。如果我使用myStmt.setDate(X,value)(如上述示例),则会出现错误: java.util.date无法转换为java.sql.date

2 个答案:

答案 0 :(得分:2)

如果您使用的是Java8 +和Jdbc 4.x,则可以将setObjectjava.util.Date一起使用java.time API,也可以将LocalDateTime与区域ID一起使用所以:

LocalDateTime startDate = ...
LocalDateTime endDate = ...
myStmt.setObject(4, startDate);
myStmt.setObject(5, endDate);

如果您坚持使用Java 7或更低版​​本,则可以看到此链接:

答案 1 :(得分:1)

您需要使用java.sql.Date

myStmt.setDate(3, new java.sql.Date(theBook.getStart().getTime()));