ibatis中xml问题。
提示错误:
javax.servlet.ServletException: org.springframework.jdbc.BadSqlGrammarException: SqlMapClient operation; bad SQL grammar []; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in com/product/user/Users.hbm.xml.
--- The error occurred while applying a parameter map.
--- Check the updateUsers-InlineParameterMap.
--- Check the statement (update failed).
--- Cause: com.mysql.jdbc.exceptions.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 UserId=2' at line 1 org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:515)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:419)
com.product.servlet.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:36)
root cause
好像是更新已有信息那一段有语法错误,但是感觉没错啊。。找了好久 求指点
我是要实现从页面中输入数据,来更新数据库信息
下面是xml文件。。
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"> <sqlMap namespace="Users"> <typeAlias alias="users" type="com.product.user.Users"/> <select id="getUserByAccount" resultClass="users" parameterClass="java.lang.String"> SELECT UserId, UserName, Account, Password FROM Users where Account=#account# </select> <!-- 获取所有用户信息 --> <select id="getUsersList" resultClass="users" > SELECT UserId, UserName, Account, password FROM Users order by UserId desc </select> <!-- 更新已有信息 --> <update id="updateUsers" parameterClass="Users"> update Users set UserName=#userName#, Account=#account#, password=#password# where UserId=#userId# </update> <!--修改个人信息--> <insert id="insertUsers" parameterClass="Users"> <!-- insert into Users (UserName,Account,password,UserId) values (#userName#,#accout#,#password#,#userId#);--> </insert> </sqlMap>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
我现在改成users 也可以。。
可是我现在什么都没改,只是重新启动了myeclipse,就可以运行了。。。。郁闷。。
最好把sql打出来,那样定位问题快。
parameterClass是写传入的参数类型吧?我自定义的类型就是Users啊?求解!!