问题:只是执行一个简单的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>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/61414.html