java - spring mvc删除用户出错

标签 java spring spring-mvc

我无法删除用户。这是我单击删除按钮时收到的错误。 org.springframework.dao.TransientDataAccessResourceException:PreparedStatementCallback; SQL [从用户删除,其中 id = '1'];参数索引超出范围(1 > 参数数量,即 0)。;嵌套异常是 java.sql.SQLException: 参数索引超出范围(1 > 参数数量,即 0)。请帮忙,非常感谢

Jdbc删除函数

public int deleteUser(int id){
        String SQL = "DELETE FROM users WHERE id = '"+id+"'";
        System.out.print(SQL);
        int user = jdbcTemplateObject.update(SQL, id);
        return user;
    }

删除 Controller

RequestMapping(value = "/delete", method = RequestMethod.GET)
    public ModelAndView delete(@ModelAttribute("SpringWeb")User user, ModelMap model, HttpServletRequest request)
    {
        try
        {
            SyntacksJdbc syntacksJdbc = (SyntacksJdbc)context.getBean("syntacksJdbc");
            System.out.println(request.getParameter("id"));
            int id = Integer.parseInt(request.getParameter("id"));
            int user1 = syntacksJdbc.deleteUser(id);
            model.addAttribute("message", "Questions updated successfully.");
        }
        catch(Exception e)
        {
            System.out.print(e);
            model.addAttribute("message", "Error occured in posting question.");
        }

        return new ModelAndView("users");

在我的 jsp 按钮上

 <a href="/Project/delete?id=${user.id}" name="delete"><button type= submit>Delete</button>

最佳答案

将查询更改为

DELETE FROM users WHERE id = ?

因为您正在尝试设置参数值

关于java - spring mvc删除用户出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28843777/

相关文章:

java - 单点登录无法在 Jboss 上运行

java - 无法让瓷砖与 spring mvc 3 一起使用

java - 当在数据库中的表之间添加新映射时,出现错误: Injection of autowired dependencies failed

java - Spring Bean ClassNotFound 如何调试?

java - 多个 JAX RS 路径触发错误的方法

java - 我怎样才能让这个开关只选择 3 个选项之一?

java - 将 List<String> 与 String 进行比较

java - 使用 Spring 框架在 java 中配置 TCP/IP

ajax - TemplateInputException : Error resolving template ****, 模板可能不存在

java - 从另一个 Maven 模块添加 tiles.xml