周一学习了ssm框架,执行的时候一个SQL语句报错,但其他都可以执行
这个是我的sql代码
<update id="update" parameterType="lms.entity.Book">
UPDATE book SET
name=#{name},
author=#{author},
publisher=#{publisher},
isbn=#{isbn},
publish_date=#{publish_date},
publish_edition=#{publish_edition},
page_number=#{page_number},
size=#{size},
WHERE id = #{id}
</update>
这个是在browse中的代码
@RequestMapping(value = { "bookmodify" }, method = RequestMethod.GET)
public ModelAndView bookmodifyGET(HttpServletRequest request) {
ModelAndView mv = new ModelAndView();
Integer id = Integer.parseInt(request.getParameter("id"));
Book it = svcBook.get(id);
mv.addObject("it", it);
mv.setViewName("bookmodify");
return mv;
}
@RequestMapping(value = { "bookmodify" }, method = RequestMethod.POST)
public ModelAndView bookmodifyPOST(HttpServletRequest request) {
ModelAndView mv = new ModelAndView();
String name = request.getParameter("name");
String author = request.getParameter("author");
String publisher = request.getParameter("publisher");
String isbn = request.getParameter("isbn");
String publish_date = request.getParameter("publish_date");
Integer publish_edition = Integer.parseInt(request.getParameter("publish_edition"));
Integer page_number = Integer.parseInt(request.getParameter("page_number"));
String size = request.getParameter("size");
Integer id = Integer.parseInt(request.getParameter("id"));
Book it = svcBook.get(id);
it.setName(name);
it.setAuthor(author);
it.setPublisher(publisher);
it.setIsbn(isbn);
it.setPublish_date(publish_date);
it.setPublish_edition(publish_edition);
it.setPage_number(page_number);
it.setSize(size);
svcBook.update(it);
mv.addObject("url", "bookmanage");
mv.addObject("info", "书籍信息修改成功,即将返回书籍管理列表页面!");
mv.setViewName("jumper");
return mv;
}
下面是报错信息
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.jdbc.BadSqlGrammarException:
### Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id = 5' at line 10
### The error may involve lms.dao.BookDao.update-Inline
### The error occurred while setting parameters
### SQL: UPDATE book SET name=?, author=?, publisher=?, isbn=?, publish_date=?, publish_edition=?, page_number=?, size=?, WHERE id = ?
### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id = 5' at line 10
; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id = 5' at line 10
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:901)
javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:875)
javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
找了好久都没有找到错误,求大神帮忙(拜托拜托)
这个框架第一次用感觉好难啊