l_flyme
l_flyme
采纳率0%
2016-06-22 00:11 阅读 1.6k

mybatis中like查询的问题求解


select name from area where id like "%"#{id}"%"
这样写为什么不对啊

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

4条回答 默认 最新

  • M_1230 淡然-jc 2016-06-22 00:27

    select name from area where id like CONCAT(CONCAT('%', #{id}), '%');

    试一下

    点赞 评论 复制链接分享
  • qq_22094223 菜鸟的困扰 2016-06-22 00:43

    select name from area where id like '%"#{id}"%'
    单引号不占用外部语言环境

    点赞 评论 复制链接分享
  • u011526875 先乐 2016-06-22 01:10

    需要修改为单引号,如下:
    select name from area where id like '%'||#{id}||'%'

    如果输入参数是实体类,那么需要这样写,加上字段的类型:
    select name from area where id like '%'||#{实体类.id,jdbcType=VARCHAR}||'%'

    点赞 评论 复制链接分享
  • qq_35379281 麟翱 2016-06-22 04:32

    1、MySQL :LIKE CONCAT('%',#{id},'%' ) 或者 LIKE CONCAT('%',‘${id}’,'%' )

    2、oracle:LIKE '%'||#{id}||'%'

    点赞 评论 复制链接分享

相关推荐