2012-08-07 3 views
7

Я новичок в весне. Я разрабатываю CRUD-приложение, используя шаблон spring jdbc. Я закончил со вставкой и выберите. но в обновлении сталкиваются с некоторыми проблемами. может ли кто-нибудь предоставить мне простой пример обновления и удаления с помощью jdbctemplate. thnks заранее.обновить строку с использованием пружины 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, моя проблема заключается в том, чтобы отобразить идентификатор строки из JSP в контроллер.

+0

С какой проблемой вы сталкиваетесь? Пожалуйста, разместите код и ошибку, с которой вы сталкиваетесь. –

+0

прокрутите до методов обновления, множество опций http://static.springsource.org/spring/docs/3.0.x/api/org/springframework/jdbc/core/JdbcTemplate.html – NimChimpsky

+0

В консоли нет ошибки, но операция обновления не выполняется. Я поделился своим контроллером здесь. –

ответ

24

Прямо из 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); 
    } 
} 
+0

спасибо тонну. Я забыл упомянуть, что это должно быть сделано в JSP. Я не могу указать значение JSP для контроллера. –

+1

JSP и контроллеры не имеют никакого отношения к вашему вопросу. Независимо от того, выполняете ли вы это в JSP или нет, API JdbcTemplate тот же. И нет, это не должно быть сделано в JSP. JSP используются для генерации разметки HTML. Обновление строки в базе данных не имеет ничего общего с JSP. –

+0

Операции, которые я хочу сделать, можно легко выполнить в спящем режиме. но я не знаю спящий режим и не хочу его изучать. поэтому я хочу сделать это в шаблоне jdbc. JSP является обязательным для меня, потому что это мой UI –

1

Вы можете просто использовать request.getParamater() или command object передавать значения из JSP в контроллер.

Смежные вопросы