开发者社区 问答 正文

mybatis 查询问题?报错

将参数封装成map

sql如下

报错如下

为什么找不到name,请大神看看

展开
收起
爱吃鱼的程序员 2020-06-08 12:25:39 724 分享 版权
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    a.namelikeconcat(concat('%',#{name}),'%')

    更好的办法是在MyBatis中动态语句进行处理:

    <iftest="name!=null"><bindname="nameLike"value="'%'+name+'%'"/>ANDnamelike#{nameLike}</if>

    客户端搞定数据处理。

    你这里只有resultMap,你有参数进来还应该写parameterType="java.util.Map"这个吧

    应该是select标签里面没有加上parameterType="map"

    引用来自“小小丶悟空”的评论

    a.namelikeconcat(concat('%',#{name}),'%')

    回复 @FelixFly:感谢指正,坐井观天了那是要分数据库的,在oracle中concat只能有两个参数
    2020-06-08 12:25:52
    赞同 展开评论