SpringData-2 方法定义规范


1. 简单条件查询

  简单条件查询是指查询某一实体类或者实体类的集合。

/**
 * 在Repository子接口中声明方法规范:
 * 1. 不是随便声明的,而需要符合一定的规范
 * 2. 查询方法以find | read | get开头
 * 3. 涉及条件查询时,条件的属性用条件关键字连接
 * 4. 要注意的是:条件属性首字母需要大写
 * 5. 支持属性的级联查询,但若当前类有符合条件的属性则优先使用,而不使用级联属性
 * 若需要使用级联属性,则属性之间使用_强制进行连接
 */

2. 支持的关键字

  直接在接口中定义查询方法,如果是符合规范的,可以不用写实现,目前支持的关键字写法如下:
  这里写图片描述


3. 查询方法解析流程

  这里写图片描述

package com.qiaobc.springdata.service;

import java.util.Date;
import java.util.List;

import org.springframework.data.repository.Repository;

import com.qiaobc.springdata.entities.Person;

/**
 * 在Repository子接口中声明方法规范:
 * 1. 不是随便声明的,而需要符合一定的规范
 * 2. 查询方法以find | read | get开头
 * 3. 涉及条件查询时,条件的属性用条件关键字连接
 * 4. 要注意的是:条件属性首字母需要大写
 * 5. 支持属性的级联查询,但若当前类有符合条件的属性则优先使用,而不使用级联属性
 * 若需要使用级联属性,则属性之间使用_强制进行连接
 */
public interface PersonRepository extends Repository<Person, Integer> {

    // 根据name属性值获取对应的Person对象
    Person getByName(String name);

    // WHERE name LIKE ?% AND id < ?
    List<Person> getByNameStartingWithAndIdLessThan(String name, Integer id);

    // WHERE email IN (?, ?, ?) OR birthday < ?
    List<Person> getByEmailInOrBirthdayLessThan(List<String> emails, Date birthday);

    // WHERE a.id > ?
    // Address_Id : 表示根据当前实体类的address属性的id进行查询
    List<Person> getByAddress_IdGreaterThan(Integer id);

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值