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 に従って DB で更新される必要があります。私の問題は、行 ID を jsp からコントローラーにマップする方法です。

4

2 に答える 2

37

ドキュメントから直接:

次の例は、特定の主キーに対して更新された列を示しています。この例では、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);
    }
}
于 2012-08-07T10:12:31.997 に答える
1

request.getParamater()orcommand objectを使用して、jsp からコントローラーに値を渡すことができます。

于 2012-08-28T06:11:20.023 に答える