11

我是春天的新手。我正在使用 spring jdbc 模板开发一个 CRUD 应用程序。我完成了插入和选择。但在更新中我面临一些问题。任何人都可以为我提供一个使用 jdbctemplate 进行更新和删除的简单示例。提前谢谢。

我的控制器-

@RequestMapping(method = RequestMethod.GET)
    public String showUserForm(@ModelAttribute(value="userview")  User user,ModelMap model)
    {
        List list=userService.companylist();
        model.addAttribute("list",list);
        return "viewCompany";
    }

@RequestMapping( method = RequestMethod.POST)
public String add(@ModelAttribute(value="userview") @Valid User user, BindingResult result) 
{
    userValidator.validate(user, result);
    if (result.hasErrors()) {
        return "viewCompany";
    } else {
        userService.updateCompany(user);
        System.out.println("value updated");
        return "updateSuccess";
    }

当我单击更新按钮时,应根据行 ID 在我的数据库中更新编辑的值,我的问题是如何将行 ID 从 jsp 映射到控制器。

4

2 回答 2

37

直接来自文档

以下示例显示为某个主键更新的列。在此示例中,SQL 语句具有行参数的占位符。参数值可以作为可变参数或对象数组传入。因此原语应该被显式地包装在原语包装类中或使用自动装箱。

import javax.sql.DataSource;

import org.springframework.jdbc.core.JdbcTemplate;

public class ExecuteAnUpdate {

    private JdbcTemplate jdbcTemplate;

    public void setDataSource(DataSource dataSource) {
        this.jdbcTemplate = new JdbcTemplate(dataSource);
    }

    public void setName(int id, String name) {
        this.jdbcTemplate.update(
                "update mytable set name = ? where id = ?", 
                name, id);
    }
}
于 2012-08-07T10:12:31.997 回答
1

您可以简单地使用request.getParamater()command object将值从 jsp 传递到控制器。

于 2012-08-28T06:11:20.023 回答