关于mysql数据库中数据输入问题
2006-11-11 20:42
465 查看
最近在用iBATIS ,下载了 http://apache.freelamp.com//ibatis/binaries/ibatis.java/JPetStore-5.0.zip 学习。用源代码部署,我用的是MySql数据库。测试发现有如下bug:
Error!
org.apache.struts.beanaction.BeanActionException
Error dispatching bean action via URL pattern ('addItemToCart'). Cause org.apache.struts.beanaction.BeanActionException Error invoking Action. Cause java.lang.reflect.InvocationTargetException
Stack
org.apache.struts.beanaction.BeanActionException Error dispatching bean action via URL pattern ('addItemToCart'). Cause org.apache.struts.beanaction.BeanActionException Error invoking Action. Cause java.lang.reflect.InvocationTargetException
at org.apache.struts.beanaction.BeanAction.execute(BeanAction.java249)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java419)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java224)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java1194)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java191)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java470)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java857)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java489)
at java.lang.Thread.run(Thread.java619)
Caused by org.apache.struts.beanaction.BeanActionException Error invoking Action. Cause java.lang.reflect.InvocationTargetException
at org.apache.struts.beanaction.ActionInvoker.invoke(ActionInvoker.java18)
at org.apache.struts.beanaction.DefaultActionInterceptor.intercept(DefaultActionInterceptor.java5)
at org.apache.struts.beanaction.BeanAction.execute(BeanAction.java246)
... 19 more
Caused by java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java25)
at java.lang.reflect.Method.invoke(Method.java597)
at org.apache.struts.beanaction.ActionInvoker.invoke(ActionInvoker.java16)
... 21 more
Caused by com.ibatis.dao.client.DaoException Failed to execute queryForObject - id [getItem], parameterObject [EST-4]. Cause com.ibatis.common.jdbc.exception.NestedSQLException
--- The error occurred in comibatisjpetstorepersistencesqlmapdaosqlItem.xml.
--- The error occurred while applying a parameter map.
--- Check the getItem-InlineParameterMap.
--- Check the statement (query failed).
--- Cause com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException Column 'ITEMID' in field list is ambiguous
Caused by com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException Column 'ITEMID' in field list is ambiguous
Caused by com.ibatis.common.jdbc.exception.NestedSQLException
--- The error occurred in comibatisjpetstorepersistencesqlmapdaosqlItem.xml.
--- The error occurred while applying a parameter map.
--- Check the getItem-InlineParameterMap.
--- Check the statement (query failed).
--- Cause com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException Column 'ITEMID' in field list is ambiguous
Caused by com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException Column 'ITEMID' in field list is ambiguous
at com.ibatis.dao.client.template.SqlMapDaoTemplate.queryForObject(SqlMapDaoTemplate.java164)
at com.ibatis.jpetstore.persistence.sqlmapdao.ItemSqlMapDao.getItem(ItemSqlMapDao.java42)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java25)
at java.lang.reflect.Method.invoke(Method.java597)
at com.ibatis.dao.engine.impl.DaoProxy.invoke(DaoProxy.java72)
at $Proxy0.getItem(Unknown Source)
at com.ibatis.jpetstore.service.CatalogService.getItem(CatalogService.java59)
at com.ibatis.jpetstore.presentation.CartBean.addItemToCart(CartBean.java60)
... 26 more
Caused by com.ibatis.common.jdbc.exception.NestedSQLException
--- The error occurred in comibatisjpetstorepersistencesqlmapdaosqlItem.xml.
--- The error occurred while applying a parameter map.
--- Check the getItem-InlineParameterMap.
--- Check the statement (query failed).
--- Cause com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException Column 'ITEMID' in field list is ambiguous
Caused by com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException Column 'ITEMID' in field list is ambiguous
at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java185)
at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForObject(GeneralStatement.java104)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java561)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java536)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForObject(SqlMapSessionImpl.java93)
at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForObject(SqlMapClientImpl.java70)
at com.ibatis.dao.client.template.SqlMapDaoTemplate.queryForObject(SqlMapDaoTemplate.java162)
... 35 more
Caused by com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException Column 'ITEMID' in field list is ambiguous
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java27)
at java.lang.reflect.Constructor.newInstance(Constructor.java513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java409)
at com.mysql.jdbc.Util.getInstance(Util.java384)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java1041)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java3566)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java3498)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java1959)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java2113)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java2568)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java2113)
at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java1364)
at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQuery(SqlExecutor.java180)
at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.sqlExecuteQuery(GeneralStatement.java205)
at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java173)
... 41 more
主要是 src\com\ibatis\jpetstore\persistence\sqlmapdao\sql\Item.xml 数据查询有问题。
修改一处查询语句就可以了:
<select id="getItem" resultClass="item" parameterClass="string" cacheModel="quantityCache">
select
I.ITEMID,
LISTPRICE,
UNITCOST,
SUPPLIER AS supplierId,
I.PRODUCTID AS "product.productId",
NAME AS "product.name",
DESCN AS "product.description",
CATEGORY AS "product.categoryId",
STATUS,
ATTR1 AS attribute1,
ATTR2 AS attribute2,
ATTR3 AS attribute3,
ATTR4 AS attribute4,
ATTR5 AS attribute5,
QTY AS quantity
from ITEM I, INVENTORY V, PRODUCT P
where P.PRODUCTID = I.PRODUCTID
and I.ITEMID = V.ITEMID
and I.ITEMID = #value#
</select>
Error!
org.apache.struts.beanaction.BeanActionException
Error dispatching bean action via URL pattern ('addItemToCart'). Cause org.apache.struts.beanaction.BeanActionException Error invoking Action. Cause java.lang.reflect.InvocationTargetException
Stack
org.apache.struts.beanaction.BeanActionException Error dispatching bean action via URL pattern ('addItemToCart'). Cause org.apache.struts.beanaction.BeanActionException Error invoking Action. Cause java.lang.reflect.InvocationTargetException
at org.apache.struts.beanaction.BeanAction.execute(BeanAction.java249)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java419)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java224)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java1194)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java191)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java470)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java857)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java489)
at java.lang.Thread.run(Thread.java619)
Caused by org.apache.struts.beanaction.BeanActionException Error invoking Action. Cause java.lang.reflect.InvocationTargetException
at org.apache.struts.beanaction.ActionInvoker.invoke(ActionInvoker.java18)
at org.apache.struts.beanaction.DefaultActionInterceptor.intercept(DefaultActionInterceptor.java5)
at org.apache.struts.beanaction.BeanAction.execute(BeanAction.java246)
... 19 more
Caused by java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java25)
at java.lang.reflect.Method.invoke(Method.java597)
at org.apache.struts.beanaction.ActionInvoker.invoke(ActionInvoker.java16)
... 21 more
Caused by com.ibatis.dao.client.DaoException Failed to execute queryForObject - id [getItem], parameterObject [EST-4]. Cause com.ibatis.common.jdbc.exception.NestedSQLException
--- The error occurred in comibatisjpetstorepersistencesqlmapdaosqlItem.xml.
--- The error occurred while applying a parameter map.
--- Check the getItem-InlineParameterMap.
--- Check the statement (query failed).
--- Cause com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException Column 'ITEMID' in field list is ambiguous
Caused by com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException Column 'ITEMID' in field list is ambiguous
Caused by com.ibatis.common.jdbc.exception.NestedSQLException
--- The error occurred in comibatisjpetstorepersistencesqlmapdaosqlItem.xml.
--- The error occurred while applying a parameter map.
--- Check the getItem-InlineParameterMap.
--- Check the statement (query failed).
--- Cause com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException Column 'ITEMID' in field list is ambiguous
Caused by com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException Column 'ITEMID' in field list is ambiguous
at com.ibatis.dao.client.template.SqlMapDaoTemplate.queryForObject(SqlMapDaoTemplate.java164)
at com.ibatis.jpetstore.persistence.sqlmapdao.ItemSqlMapDao.getItem(ItemSqlMapDao.java42)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java25)
at java.lang.reflect.Method.invoke(Method.java597)
at com.ibatis.dao.engine.impl.DaoProxy.invoke(DaoProxy.java72)
at $Proxy0.getItem(Unknown Source)
at com.ibatis.jpetstore.service.CatalogService.getItem(CatalogService.java59)
at com.ibatis.jpetstore.presentation.CartBean.addItemToCart(CartBean.java60)
... 26 more
Caused by com.ibatis.common.jdbc.exception.NestedSQLException
--- The error occurred in comibatisjpetstorepersistencesqlmapdaosqlItem.xml.
--- The error occurred while applying a parameter map.
--- Check the getItem-InlineParameterMap.
--- Check the statement (query failed).
--- Cause com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException Column 'ITEMID' in field list is ambiguous
Caused by com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException Column 'ITEMID' in field list is ambiguous
at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java185)
at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForObject(GeneralStatement.java104)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java561)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java536)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForObject(SqlMapSessionImpl.java93)
at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForObject(SqlMapClientImpl.java70)
at com.ibatis.dao.client.template.SqlMapDaoTemplate.queryForObject(SqlMapDaoTemplate.java162)
... 35 more
Caused by com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException Column 'ITEMID' in field list is ambiguous
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java27)
at java.lang.reflect.Constructor.newInstance(Constructor.java513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java409)
at com.mysql.jdbc.Util.getInstance(Util.java384)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java1041)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java3566)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java3498)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java1959)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java2113)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java2568)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java2113)
at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java1364)
at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQuery(SqlExecutor.java180)
at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.sqlExecuteQuery(GeneralStatement.java205)
at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java173)
... 41 more
主要是 src\com\ibatis\jpetstore\persistence\sqlmapdao\sql\Item.xml 数据查询有问题。
修改一处查询语句就可以了:
<select id="getItem" resultClass="item" parameterClass="string" cacheModel="quantityCache">
select
I.ITEMID,
LISTPRICE,
UNITCOST,
SUPPLIER AS supplierId,
I.PRODUCTID AS "product.productId",
NAME AS "product.name",
DESCN AS "product.description",
CATEGORY AS "product.categoryId",
STATUS,
ATTR1 AS attribute1,
ATTR2 AS attribute2,
ATTR3 AS attribute3,
ATTR4 AS attribute4,
ATTR5 AS attribute5,
QTY AS quantity
from ITEM I, INVENTORY V, PRODUCT P
where P.PRODUCTID = I.PRODUCTID
and I.ITEMID = V.ITEMID
and I.ITEMID = #value#
</select>
相关文章推荐
- 关于mysql数据库中数据输入问题
- 关于MySQL数据库数据通过.sql文件导入数据出错的问题
- 关于测试数据的输入问题
- 关于用连续用多个scanf函数输入数据时前面的scanf函数会在缓冲区留下回车符的问题
- 关于多组数据连续输入,求最大值最小值问题
- 解决关于导入数据到mysql数据库时出现的乱码问题
- 关于Mysql数据库数据未插入的问题
- 关于数据输入之先输入int数值在输入string的一些小问题
- 关于hibernate插入数据到mysql数据库中文乱码问题的解决
- 关于阿里云centos 2.6下手机表情输入后无法保存到mysql数据库的问题调研及mysql版本从5.1升级到5.7的全过程纪要
- 关于mysql数据库存储数据乱码问题
- 关于在asp.net中使用showDialogModal方式输入数据中存在的问题
- 关于数据输入之先输入int数值在输入string的一些小问题
- 关于mysql数据库插入数据,不能插入中文和出现中文乱码问题
- 关于mysql数据库韩文数据转移的问题
- 关于数据输入的问题
- 关于datagridview单元格不切换焦点无法获得新输入数据的问题解决方法
- 关于输入一组数据求最小的问题
- 笔记三:关于在Windows环境下mysql数据库数据ORDER BY排序的问题
- 关于C++/C 输入一行整型数据,数量不定问题,如何读入