只需要按照Spring Data JPA提供的方法命名规则定义方法的名称,就可以完成查询工作。程序执行的时候会根据方法名称进行解析,并自动生成sql语句进行查询。
/**
* 只要根据 约定的方法命名,可以不写sql(hql)语句.
* 方法名的约定:
* findBy : 查询
* 对象中的属性名(首字母大写) : 查询的条件
* CustName
* * 默认情况 : 使用 等于的方式查询
* 特殊的查询方式
* <p>
* findByCustName -- 根据客户名称查询
* <p>
* 再springdataJpa的运行阶段
* 会根据方法名称进行解析 findBy from xxx(实体类)
* 属性名称 where custName =
* <p>
* 1.findBy + 属性名称 (根据属性名称进行完成匹配的查询=)
* 2.findBy + 属性名称 + “查询方式(Like | isnull)”
* findByCustNameLike
* 3.多条件查询
* findBy + 属性名 + “查询方式” + “多条件的连接符(and|or)” + 属性名 + “查询方式”
*
* @create 2021/4/19 17:25
*/
public interface CustomerDao4 extends JpaRepository<Customer, Long>, JpaSpecificationExecutor<Customer>
{
// “=” 的查询条件查询 CustId
// 1.findBy + 属性名称 (根据属性名称进行完成匹配的查询=)
public Customer findByCustId(long cid);
// 2.findBy + 属性名称 + “查询方式(Like | isnull)”
public List<Customer> findByCustNameLike(String custName);
// findBy + 属性名 + “查询方式” + “多条件的连接符(and|or)” + 属性名 + “查询方式”
public List<Customer> findByCustNameLikeOrCustIndustryIsNull(String custName);
}
具体的关键字, 参考 博客 : 点击进入
https://blog.youkuaiyun.com/weixin_44218060/article/details/103804162