Java_Leo_F
2017-03-16 08:06
采纳率: 50%
浏览 3.7k
已采纳

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

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

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

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

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

    打赏 评论
  • qq_28812725 2017-03-16 08:08
    打赏 评论
  • qq_28812725 2017-03-16 08:15
     <if test="id != null">    
            and id  = #{id}    
        </if> 
    
    打赏 评论
  • 威廉汉森 2017-03-16 08:22

    使用sqlprovider自定义查询sql

    打赏 评论
  • 说书人- 2017-03-16 08:39

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

    打赏 评论
  • 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楼的方法

    打赏 评论

相关推荐 更多相似问题