使用spring jdbctemplate更新一行

时间:2012-08-07 10:09:48

标签: spring jdbctemplate

我是春天新手。我正在使用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映射到控制器。

2 个答案:

答案 0 :(得分:30)

直接来自the documentation

  

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

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);
    }
}

答案 1 :(得分:1)

您只需使用request.getParamater()command object将值从jsp传递到控制器。