开发者社区> 问答> 正文

mybatis模糊查询?报错

报错:org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'name' in 'class java.lang.String'。多张表模糊查询代码如下:

<select id="selectAllBedLike" parameterType="String" resultMap="BedResultMap">
  select b.number,pat.id,per.name,per.age,pese.id,gro.groupname from bedtable b left join patient pat on b.pat_id = pat.id left join personalinformation per on pat.per_id = per.id left join personalservice pese on pat.id = pese.pat_id left join grouptable gro on pese.gro_id = gro.id left join apartment apa on b.apa_id = apa.id left join apartmenttype apty on apa.apty_id = apty.id where per.name like '%${name}%';
</select>

展开
收起
爱吃鱼的程序员 2020-06-08 11:24:03 555 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    这样写才是正确的:

    <selectid="selectAllBedLike"parameterType="String"resultMap="BedResultMap"><bindname="nameLike"value="'%'+name+'%'"/>selectb.number,pat.id,per.name,per.age,pese.id,gro.groupnamefrombedtablebleftjoinpatientpatonb.pat_id=pat.idleftjoinpersonalinformationperonpat.per_id=per.idleftjoinpersonalservicepeseonpat.id=pese.pat_idleftjoingrouptablegroonpese.gro_id=gro.idleftjoinapartmentapaonb.apa_id=apa.idleftjoinapartmenttypeaptyonapa.apty_id=apty.idwhereper.namelike#{nameLike};</select>

     

    这个答案才是最标准而且是mybatis推荐的。要善用bind标记,还有要注意#{}和${}的区别。这个答案才应该被推荐,不推荐用数据库特有的CONCAT。试了,还是报一样的错

    可以这样写····不是报没getter方法吗·····

    写了get方法的
    MySql:SELECT*FROMuserWHEREnamelikeCONCAT('%',#{name},'%')Oracle:SELECT*FROMuserWHEREnamelikeCONCAT('%',#{name},'%')或SELECT*FROMuserWHEREnamelike'%'||#{name}||'%'SQLServer:SELECT*FROMuserWHEREnamelike'%'+#{name}+'%'DB2:SELECT*FROMuserWHEREnamelikeCONCAT('%',#{name},'%')或SELECT*FROMuserWHEREnamelike'%'||#{name}||'%'

     

    谢谢,问题解决了很有用

    我想说一句,他的问题在于误用了${variable}!而为什么公孙二狗的答案能解决他的问题,因为避免了楼主的那种错误。而我前面回答的,我的写法已经实践过非常之多,不清楚楼主有没有注意到$和#的区别呢。

    恩,我用你的代码又写了几个语句试了也可以。谢谢了
    2020-06-08 11:24:16
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Java Spring Boot开发实战系列课程【第6讲】:Spring Boot 2.0实战MyBatis与优化(Java面试题) 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载