首页 文章

使用spring jdbctemplate更新一行

提问于
浏览
7

我是新来的 Spring 天 . 我正在使用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 回答

  • 28

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

  • 1

    直接从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);
        }
    }
    

相关问题