2012-08-07 13 views
7

私は春の新作です。私はspring jdbcテンプレートを使ってCRUDアプリケーションを開発しています。私は挿入と選択を完了しました。しかし、更新時には何らかの問題に直面しています。誰でも私にjdbctemplateを使って簡単な更新と削除の例を提供することができます。 thnksを事前に入力してください。更新ボタンの上に私をクリックすると、編集した値は、行IDに応じて、私のDBに更新する必要がありますspringを使用して行を更新するjdbctemplate

MY CONTROLLER-

@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"; 
    } 

、私の問題は、コントローラに、JSPから行IDをマッピングする方法です。 the documentationからストレート

+0

あなたはどのような問題に直面していますか?いくつかのコードとあなたが遭遇するエラーを投稿してください。 –

+0

更新メソッドへのスクロール、多くのオプションhttp://static.springsource.org/spring/docs/3.0.x/api/org/springframework/jdbc/core/JdbcTemplate.html – NimChimpsky

+0

コンソールにエラーはありませんが、更新操作実行されていません。 私のここでコントローラを共有しました.. –

答えて

24

次の例では、特定のプライマリ キーの更新された列を示しています。この例では、SQL文に行 のパラメータのプレースホルダがあります。パラメータ値は、varargsまたは の代わりにオブジェクトの配列として渡すことができます。したがって、プリミティブは、 がプリミティブラッパークラスに明示的にラップされるか、 オートボックスを使用する必要があります。あなたは、単にコントローラに、JSPから値を渡すためにrequest.getParamater()またはcommand objectを使用することができます

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

ありがとうございました。 JSPで実行する必要があることを忘れてしまいました。コントローラにJSP値をマップすることはできません。 –

+1

JSPとコントローラはあなたの質問とは関係ありません。 JSPで行うかどうかにかかわらず、JdbcTemplate APIは同じです。そして、いいえ、それはJSPで行うべきではありません。 JSPはHTMLマークアップを生成するために使用されます。データベース内の行を更新することは、JSPでは何も行いません。 –

+0

私がやりたい操作は、休止状態で簡単に行うことができます。しかし、私は冬眠を知っていないし、それを学ぶ時間がない。だから私はjdbcのテンプレートでそれを行うhav。 JSPは私のUIであるため私にとっては必須です –

関連する問題