Java_Leo_F
Java_Leo_F
采纳率50%
2017-03-16 08:06 阅读 3.6k
已采纳

mybatis中可以动态的拼接sql吗?

1

我在做的项目中用mybatis从数据库中查询数据,但是查询条件是可以选择的。
如:select * from table where id>100;
我想把“id>100"这个查询条件变成动态的。以一个string的值拼接上去,
以后使用时就可以动态的改变查询条件了。
("id<100" , "id=100”......)
这样可以实现吗?
求大神协助

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

6条回答 默认 最新

  • 已采纳
    Java_Leo_F Java_Leo_F 2017-03-16 08:19

    好像是不能解决我的问题呢

    点赞 评论 复制链接分享
  • qq_28812725 qq_28812725 2017-03-16 08:15
     <if test="id != null">    
            and id  = #{id}    
        </if> 
    
    点赞 1 评论 复制链接分享
  • qq_28812725 qq_28812725 2017-03-16 08:08
    点赞 评论 复制链接分享
  • han542463303 威廉汉森 2017-03-16 08:22

    使用sqlprovider自定义查询sql

    点赞 评论 复制链接分享
  • NOOBBB 说书人- 2017-03-16 08:39

    用 $$ 包起来,mybatis就会拼接,比如 想 id>100 了,就在java中 num= ' > 100 ' 在mapper里写,id $num$

    点赞 评论 复制链接分享
  • sasalily sasalily 2017-03-16 09:16

    是可以的以你的列子来说 select * from table where id>100;
    where 部分可以这样设计

    select * from table


    #{condition}



    这里的condition是属性名 实体中必须有 并且提供set get 方法 然后你查的时候在controller层 给实体set Condition("id>100");或者setCondition("name='小明' ");
    说的比较乱 希望楼主能看懂
    或者用4楼的方法

    点赞 评论 复制链接分享

相关推荐