如何在java中向oracle插入日期和时间?

时间:2015-06-19 13:56:58

标签: java html5 oracle date

我知道Oracle只有DATEDATETIMETIMESTAMP类型。 我有一个在Java中建立的网站,我正在寻找一种方法在表Appointments中插入Oracle数据库中的日期和时间。

例如:

  

约翰在2016年1月12日21:00预约了他的工作。

因此,格式为day-month-year, hh24:minute

如果可能的话,我不想在我的应用程序中加入来自互联网的日期选择器。

如何仅使用JSP / HTML来完成?

不幸的是,HTML5类型"日期"在IE或Firefox中不受支持。 我的问题是,使用某些输入字段是否是一个好主意,并以某种方式将它们连接成一个" preparedSQL语句"将这些数据插入数据库中的正确位置?

2 个答案:

答案 0 :(得分:0)

无论如何,这是正常/好的方法。只需确保它们在进入数据库之前形成一个“可解析的日期/时间”字段,否则“尝试存储(或可能)错误的内容”没有任何意义。

并且您不需要连接SQL查询中的字段,当您到达数据库层时,您应该传递正常的DateTime(希望......或类似的东西),因此您只需要一个字段(?中的PreparedStatement

<强>更新

您从JSP / HTML页面获取值;然后尝试构建一个专门处理日期/时间例程的Java对象(DateTimeCalendarDate ...或者与某些格式化程序 )...你很高兴,因为你已经拥有了一些用你已经从用户那里获得的输入处理日期/时间的东西!这就是您需要在PreparedStatement中使用的内容。

答案 1 :(得分:0)

这是一个让你入门的骨架代码。

Java类(在您的情况下是可选的,但在现实生活中不是这样)

public class Appointment {
    private Integer id;
    private Date date;
    private List<User> participants;

    // Getters and setters...
}

public class User {
    private Integer id;
    private String firstname;
    // ...

    // Getters and setters...
}

的Servlet

@WebServlet("/createAppointment")
public class CreateAppointmentServlet extends HttpServlet {

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        // Read form fields
        String date = request.getParameter("date");
        String hour = request.getParameter("hour");

        // Perform sanity check
        // ...

        // Grab a JDBC connection and call a PreparedStatement
        // ...

        // Get response writer
        PrintWriter writer = response.getWriter();

        // Build HTML code (error cases not shown for code clariry)
        StringBuilder htmlResponse = new StringBuidler();
        htmlResponse.append("<html>");
        htmlResponse.append("<h2>Your username is: " + username + "<br/>");      
        htmlResponse.append("Your password is: " + password + "</h2>");    
        htmlResponse.append("</html>");

        // Return response
        writer.println(htmlResponse.toString());

    }

}

JSP

<html>
  <body>
    <form name="loginForm" method="post" action="createAppointment">
        Date: <input type="text" name="date"/> <br/>
        Hour: <input type="text" name="hour"/> <br/>
        <input type="submit" value="Create appointment" />
    </form>
 </body>
</html>

要进一步了解,请阅读:Handling HTML form data with Java Servlet