直接上代码:
@Query(value = "select * from table_name where if(?1!=null and ?1!='',key=?1,1=1) and if(?2!=null and ?2!='',key2=?2,1=1),nativeQuery = true)
public List<User> queryPage(String key,String key2);
使用条件:当有多个查询条参数且有时参数会为空时,为了避免写多个参数不同的查询函数,可以使用该方法。
理解:if(?1!=null and ?1!='',key=?1,1=1)
如果?1!=null and ?1 !=''成立,则返回key=?1,否则返回1=1
本文介绍了一种使用动态SQL的方法,通过在查询语句中嵌入条件判断,实现了根据参数是否为空来灵活调整查询条件的功能。这种方法适用于有多个查询参数且参数可能为空的场景,避免了编写多个不同参数组合的查询函数。
1045





