今天在使用mybatis查询的时候遇到了这个错误:java.sql.SQLException: Parameter index out of range (2 > number of parameters, which is 1).
搞了好久才搞好
修改之前的xml是这样的:
<select id="getOrderMainOrder" parameterType="map"
resultType="map">
SELECT a.id as oId,a.order_no,a.shop_id,a.product_count,a.amount,a.to_name,a.to_tel,a.to_address,c.sku_info,d.name FROM `order` a
INNER JOIN order_main_order b on a.id = b.order_id
INNER JOIN order_sku c on a.id = c.order_id
LEFT JOIN shop d on a.shop_id = d.id
WHERE b.order_main_id = #{orderMainId}
-- select b.id as oId,b.order_main_id,b.order_id
-- from order_main_order b
-- where b.order_main_id = #{orderMainId}
</select>
在xml里面 --后面是注释
修改完之后是这样的:
<select id="getOrderMainOrder" parameterType="map"
resultType="map">
SELECT a.id as oId,a.order_no,a.shop_id,a.product_count,a.amount,a.to_name,a.to_tel,a.to_address,c.sku_info,d.name FROM `order` a
INNER JOIN order_main_order b on a.id = b.order_id
INNER JOIN order_sku c on a.id = c.order_id
LEFT JOIN shop d on a.shop_id = d.id
WHERE b.order_main_id = #{orderMainId}
</select>
总结:XML文件里面的注释都删掉就完事了,我现在也没搞明白为什么,但是删掉就能正常。