您当前的位置: 首页 >  sql

衣舞晨风

暂无认证

  • 0浏览

    0关注

    1156博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

mybatis执行查询语句查询不到结果,控制台输出sql语句复制到数据库中能查到数据

衣舞晨风 发布时间:2016-07-22 21:12:56 ,浏览量:0

今天用mybatis查询语句的时候,控制台输出的sql语句可以在mysql中可以正确执行,但是查询出来就是没有数据。 原查询语句如下(为展示问题明确,将sql进行了简化):


        SELECT
         *
        FROM
         province
        
            
                AND ( #{strWhere} )
            
        

此sql可以在mysql中正确执行,但是查询不到数据。 解决办法是:将查询条件中的“#”替换成“$”. 原因如下: MyBatis看到 #{}会认为你在给sql中的变量赋值,就像JDBC编程中给问号赋值一样(自动在前后加单引号)也就是说,他把你传入的字符串并没有当做多个值,而是当做一个大的字符串,所以查询不到值

而MyBatis看到${}的时候会直接将之替换成变量的值而不做任何处理。

mybatis $ # 具体区别可以参考:这里写链接内容

作者:jiankunking 出处:http://blog.csdn.net/jiankunking

关注
打赏
1647422595
查看更多评论
立即登录/注册

微信扫码登录

0.0424s