今天在做公司的一个项目的时候要使用到mybatis,在查询语句中要使用 in 函数,但是使用不同的设置 汇报无效的数字,在一番测试和查找后,终于找到一个比较好的解决方法
sql语句写法:
<span style="font-size:14px;"><select id="findByPrimaryKey" resultType="com.bz.cy.model.TbMemShopping"
parameterType="java.lang.String">
SELECT memshopping_id as memshoppingid,
userid,shopping_on as shoppingOn,
Commodity_id as commodityid,
UnitPrice,Numbers,Subtotal,
Operation
from TB_MEMSHOPPING
where memShopping_id = #{memshoppingid,jdbcType=INTEGER}
</select></span>
上面是普通的写法,但是当将 = 换为in 之后,会出现无效的数字错误
下面是正确的写法:
<span style="font-size:14px;"><select id="getShoppingByIds" resultType="com.bz.cy.model.TbMemShopping"
parameterType="java.lang.String">
SELECT memshopping_id as memshoppingid,
userid,shopping_on as shoppingOn,
Commodity_id as commodityid,
UnitPrice,Numbers,Subtotal,
Operation
from TB_MEMSHOPPING
where memShopping_id in (${_parameter})
</select></span>
这个有点想法iBATIS中的#value#,当使用一个参数时,在iBATIS中可以这样使用。