MyBatis执行SQL返回0,SQL语句在数据库正常返回数据,Toal: 0

问题:只是执行一个简单的SQL语句,但是却无法正常返回数据库中的数据。

传递的参数roleid是用","拼接起来的:6,2

Mapper.xml

<select id="selectByCondition" resultMap="BaseResultMap">
    SELECT * from biobase_role_popedom WHERE roleID in (#{roleid,jdbcType=VARCHAR})
    </foreach>
  </select>

运行结果


 
原因:网上找了很多方法,没有解决。最后各种测试发现不用字符串拼接就没有问题,因为当传递的参数只有一个值的时候就不会出问题

所以,我将传递的值放在List中,当然放在Map,数组都一样。

解决:

首先确保数据库连接字符串添加了  ?autoReconnect=true&useUnicode=true&characterEncoding=utf8 

Mapper.xml

<select id="selectByCondition" resultMap="BaseResultMap">
    SELECT * from biobase_role_popedom WHERE roleID in
    <foreach collection="list" item="item" index="index" open="(" separator="," close=")">
      #{item}
    </foreach>
  </select>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值