Ibatis里面用in写SQL语句,问什么报下面的错
StrutsProblemReportStrutshasdetectedanunhandledexception:Messages:Unknowncolumn'?????...
Struts Problem Report
Struts has detected an unhandled exception:
Messages: Unknown column '???????? in 'where clause'
--- The error occurred while applying a parameter map. --- Check the statisticsQuery.getProductlineStatistices-InlineParameterMap. --- Check the statement (query failed). --- Cause: java.sql.SQLException: Unknown column '???????? in 'where clause'
我的sql语句是:
SELECT `id`, `productName`, `productNumber`, `callingNumber`,`localCost`, `longCost`, `internationCost`, SUM(`feeTotal`) AS feeTotal, `month` FROM `boss_productline_statistice` WHERE MONTH BETWEEN #beginmonth# AND #endmonth# and productName in ($productName$) GROUP BY productName LIMIT #beginNum#,#endNum#
他一直报Unknown column '???????? in 'where clause'这样的错误 展开
Struts has detected an unhandled exception:
Messages: Unknown column '???????? in 'where clause'
--- The error occurred while applying a parameter map. --- Check the statisticsQuery.getProductlineStatistices-InlineParameterMap. --- Check the statement (query failed). --- Cause: java.sql.SQLException: Unknown column '???????? in 'where clause'
我的sql语句是:
SELECT `id`, `productName`, `productNumber`, `callingNumber`,`localCost`, `longCost`, `internationCost`, SUM(`feeTotal`) AS feeTotal, `month` FROM `boss_productline_statistice` WHERE MONTH BETWEEN #beginmonth# AND #endmonth# and productName in ($productName$) GROUP BY productName LIMIT #beginNum#,#endNum#
他一直报Unknown column '???????? in 'where clause'这样的错误 展开
3个回答
展开全部
ibatis sql in 操作(iterate属性)
1、使用iterate属性,status为数组。
<isNotNull property="status">
<![CDATA[ status in ]]>
<iterate property="status" conjunction="," open="(" close=")">
#status[]#
</iterate>
</isNotNull>
2、使用$,但这种写法存在一定的风险,可能会引起sql注入。
SELECT * FROM test WHERE status in ($status$);
1、使用iterate属性,status为数组。
<isNotNull property="status">
<![CDATA[ status in ]]>
<iterate property="status" conjunction="," open="(" close=")">
#status[]#
</iterate>
</isNotNull>
2、使用$,但这种写法存在一定的风险,可能会引起sql注入。
SELECT * FROM test WHERE status in ($status$);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
dao中判断传入数组是否为null,若为null不做操作,反之直接可以在xml中写下列代码:
<select id=“” >
SELECT * FROM test WHERE status in
<iterate open="(" close=")" conjunction=",">#[]#</iterate>
</select>
<select id=“” >
SELECT * FROM test WHERE status in
<iterate open="(" close=")" conjunction=",">#[]#</iterate>
</select>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看字面的意思 是未知的字段 column '???????? in 'where clause'
你的字段是传入的么.. 你把你的sql语句放上来看看
你的字段是传入的么.. 你把你的sql语句放上来看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询