今天使用SpringDataJpa是,碰到一个功能,需要要进行数据库两张表的联合模糊多条件查询。
然后我的springboot版本:2.2.5.RELEASE
我知道是使用@Query进行查询,然后网上说是使用concat()
where a.pname like concat('%',:pname,'%') and b.uname like concat('%',:uname,'%')
这种方式进行查询,但是我的idea报了一个错误,类似于无法理解这句话的意思,然后我把where和之后的字段删除,发现并没有错误,成功运行。
再者我又查询到这种concat方法并不安全,会导致SQL注入
然后我用的方法为
where a.pname like %?1% and b.uname like %?2%
可能是springboot版本问题引发的问题吧,先记录一下