java - 使用 DAO 模式将数据插入 hsqldb

标签 java servlets jdbc hsqldb

您好,我是 Java Web 开发新手,我正在尝试使用数据访问对象通过表单将数据传递到数据库。

这是我迄今为止创建的插入数据的方法:

public void addCustomer(String firstname, String lastName, String code)
{
    try
    {
        st = getConnection().createStatement();
        st.executeUpdate("insert into customer value(id ," + firstname + "," + lastName + "," + code+")");

    } catch(Exception e)
    {

        throw new RuntimeException(e);
    } finally {

        closeResources(); //method which closes connection, resultset and statements
    }

}

现在我在 Servlet 中调用这个方法,如下所示:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType("text/html;charset=utf-8");
    PrintWriter out = response.getWriter();
    out.println(
            "<form action='/Add' method='post'>"
           +"Eesnimi:<input id='firstNameBox' name='firstName'/> "
           +"Perekonnanim:<input id='lastNameBox' name='lastName'/>"        
           +"Kood:<input id='codeBox' name='code'/>"    
           +"<input type='submit' value='Lisa'/>"   
           );
    String firstname = request.getParameter("firstName");
    String lastName = request.getParameter("lastName");
    String code = request.getParameter("code");
    CustomerDao dao = new CustomerDao();
    dao.addCustomer(firstname, lastName, code);
}

现在我收到SQLSyntaxErrorException:用户缺乏权限或未找到对象:NULL 我很确定这个案例是在 addCustomer 方法中,但我无法从谷歌找到解决方案,也许这里有人可以帮助我?

最佳答案

插入语句语法似乎是错误的,因为您遇到了 SQLSyntaxErrorException:

st.executeUpdate("insert into customer value(

试试这个:

st.executeUpdate("insert into customer values (

此外,请记住 VALUES 子句中的订单应与您在客户表上创建的订单相同。否则,您必须使用完整的 INSERT 语法:

INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);

关于java - 使用 DAO 模式将数据插入 hsqldb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26658715/

相关文章:

java - 如何在JSP中创建全局 session ?

java - 将现有的 SQLite 数据库加载到内存

java - 子类抛出 UnsupportedOperationException 与忽略输入参数

java - 使用不同的样式和区域设置通过 DateFormat.getDateInstance 解析迄今为止的字符串时出现问题

java - 如何以 AB123 --> AB 123 格式拆分字符串? java

Java 文件读取器错误

java - 如何使用java从mysql数据库的行中删除重复项

java - Java 8 Stream 的正确配置是什么

java - 将异常从 Servlet 重定向到默认错误 JSP 的正确技术是什么?

java - 由于集群时可能出现的问题,Servlet 不应启动线程....什么问题?