2012-08-07 17 views
7

Sono nuovo alla primavera. Sto sviluppando un'applicazione CRUD usando il modello jdbc di primavera. Ho finito di inserire e selezionare. ma in aggiornamento sto affrontando qualche problema. qualcuno può fornirmi un semplice esempio di aggiornamento ed eliminazione usando jdbctemplate. in anticipo.aggiornare una riga utilizzando 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"; 
    } 

Quando clicco sul pulsante di aggiornamento dei valori modificati devono essere aggiornate nel mio DB secondo l'ID di fila, il mio problema è come mappare l'id fila da jsp al controller.

+0

Che problema affronta? Per favore pubblica un po 'di codice e l'errore che incontri. –

+0

Scorrere fino ai metodi di aggiornamento, molte opzioni http://static.springsource.org/spring/docs/3.0.x/api/org/springframework/jdbc/core/JdbcTemplate.html – NimChimpsky

+0

non ci sono errori nella console ma operazione di aggiornamento non viene eseguito. ho condiviso il mio controller qui .. –

risposta

24

Direttamente da the documentation:

Il seguente esempio mostra una colonna aggiornata per un certo chiave primaria . In questo esempio, un'istruzione SQL ha segnaposti per i parametri della riga . I valori dei parametri possono essere passati come varargs o alternativamente come una matrice di oggetti. Quindi le primitive dovrebbero essere avvolte nelle primitive classi wrapper esplicitamente o usando il boxing automatico .

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

grazie a ton .. ho dimenticato di dire che dovrebbe essere fatto in JSP. Non posso mappare il valore JSP al controller. –

+1

JSP e controller non hanno nulla a che fare con la tua domanda. Sia che lo si faccia in JSP o no, l'API JdbcTemplate è la stessa. E no, non dovrebbe essere fatto in un JSP. I JSP sono usati per generare markup HTML. L'aggiornamento di una riga in un database non ha nulla a che fare in un JSP. –

+0

le operazioni che voglio fare possono essere fatte facilmente in ibernazione. ma non so in letargo e non ho tempo per impararlo. quindi devo farlo nel template jdbc. JSP è obbligatorio per me perché è la mia interfaccia utente –

1

Si può semplicemente utilizzare request.getParamater() o command object per passare i valori da jsp al controller.

Problemi correlati