MyBatis执行SQL返回0,SQL语句在数据库正常返回数据,Toal: 0
2018-02-27 11:24
369 查看
问题:只是执行一个简单的SQL语句,但是却无法正常返回数据库中的数据。
传递的参数roleid是用","拼接起来的:6,2
Mapper.xml<select id="selectByCondition" resultMap="BaseResultMap">
SELECT * from biobase_role_popedom WHERE roleID in (#{roleid,jdbcType=VARCHAR})
</foreach>
</select>运行结果
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>
传递的参数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>
相关文章推荐
- Entity Framework(EF) 直接执行数据库命令并返回 DataTable 数据参数化 SQL 语句
- mybatis执行查询语句查询不到结果,控制台输出sql语句复制到数据库中能查到数据
- mybatis执行查询语句查询不到结果,控制台输出sql语句复制到数据库中能查到数据
- mybatis执行查询语句查询不到结果,控制台输出sql语句复制到数据库中能查到数据
- Spring-JDBC:在使用JdbcTemplate进行条件查询时没有返回数据,但是sql直接在数据库中执行是有数据返回的。
- entity framework(EF) 直接执行数据库命令并返回DataTable 参数化sql语句
- mybatis搜不到,把sql语句放到mysql当中执行确正常
- 解决mybatis执行SQL语句部分参数返回NULL问题
- mssql2000数据库执行SQL语句来创建数据库以及数据表还有索引
- Hibernate SQLQuery查询返回空List,在mysql命令下直接执行sql语句可以正常得到记录
- C# 执行多条SQL语句,实现数据库事务(通过Hashtable存储数据) .
- [MyBatis]获取数据库连接、批量执行SQL语句
- mybatis之sql执行有数据但返回结果为null
- [MyBatis]获取数据库连接、批量执行SQL语句
- Mybatis selectOne方法执行sql有数据返回为null
- Qt开发,链接了数据库后,调用QSqlQuery::setQuery执行SQL语句获取我们想要的数据
- C# 执行多条SQL语句,实现数据库事务(通过Hashtable存储数据) .
- 借助数据库执行sql语句批量生成测试数据
- 解决:mybatis执行SQL语句部分参数返回NULL
- mybatis之sql执行有数据但返回结果为null