Spring Boot教程 | 第三篇:Spring Data JPA用法进阶

本文深入探讨Spring Data JPA的高级用法,包括方法名解析和自定义查询。通过实例展示了如何根据方法名进行查询,如like查询和按属性筛选。此外,还介绍了使用@Query注解进行原生SQL和HQL查询,强调了原生SQL可能导致的数据库绑定问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、介绍

Spring Boot完整教程 | 主页及目录​​​​​​​

上一篇我们对Data JPA的用法进行了基本介绍,本篇将对Data JPA API进行进一步说明。

 

二、用法说明

2.1 方法名解析

Data JPA在进行方法名解析时,会先把方法名多余的前缀截取掉,比如 find、findBy、read、readBy、get、getBy,然后对剩下部分进行解析。并且如果方法的最后一个参数是 Sort 或者 Pageable 类型,也会提取相关的信息,以便按规则进行排序或者分页查询。在创建查询时,我们通过在方法名中使用属性名称来表达,比如 findById()。框架在解析该方法时,首先剔除 findBy,然后对剩下的属性进行解析。

like查询时,如果需要查询的是其中的字符,同样使用通配符 “%”,如%王%

下面我们尝试一下,先做几条数据

StudentDao中增加根据性别筛选人员的方法

package com.kcsm.training.bootdemo.dao;

import com.kcsm.training.bootdemo.entity.Student;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.rest.core.annotation.RepositoryRestResource;

import java.util.List;

/**
 * 学生信息数据库访问接口
 *
 * @author lqk
 * @date 2019/7/9 15:43
 */
public interface StudentDao  extends JpaRepository<Student, String>, JpaSpecificationExecutor<Student> {

    /**
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值