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