public void addOrder(Order order){
try{
String sql = "insert into orders(order_date,order_state,order_total,order_address,order_user_id,order_number,order_tel) values (?,?,?,?,?,?,?);";
Timestamp timestamp = new Timestamp(order.getOrder_date().getTime());
Object[] params = {timestamp,order.getOrder_state(),order.getOrder_total(),order.getOwner().getUser_address(),order.getOwner().getUser_id(),order.getOrder_number(),order.getOwner().getUser_tel()};
qr.update(sql, params);
}
catch(SQLException e){
throw new RuntimeException(e);
}
}
timestamp能获取到正确的值,但是会报如下异常,程序之前都能成功执行,突然报出这个异常
java.lang.RuntimeException: java.lang.NullPointerException
at service.OrderService.submitOrder(OrderService.java:59)
at servlet.OrderServlet.doPost(OrderServlet.java:108)
at servlet.OrderServlet.doGet(OrderServlet.java:59)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NullPointerException
at com.mysql.jdbc.PreparedStatement.setTimestamp(PreparedStatement.java:4241)
at com.mysql.jdbc.PreparedStatement.setObject(PreparedStatement.java:3591)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.setObject(NewProxyPreparedStatement.java:901)
at org.apache.commons.dbutils.AbstractQueryRunner.fillStatement(AbstractQueryRunner.java:374)
at org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:527)
at org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:497)
at dao.OrdersDao.addOrder(OrdersDao.java:32)
at service.OrderService.submitOrder(OrderService.java:46)
... 16 more
求大神帮忙看看,谢谢啦