SpringDdataJPA

it2026-08-31  2

SringDataJPA

概念: Spring Data JPA 是 Spring 基于 Spring Data 框架、在JPA 规范的基础上开发的一个框架,使用 Spring Data JPA 可以极大地简化JPA 的写法,可以在几乎不用写实现的情况下实现对数据库的访问和操作,除了CRUD外,还包括分页和排序等一些常用的功能。

Spring Data JPA的目标是大大简化数据访问层代码的编码。作为使用者,我们只需要编写自己的repository接口,接口中包含一些个性化的查询方法,Spring Data JPA将自动实现查询方法

对于数据的操作,hibernate是面向对象的,而MyBatis是面向关系的

spring data jpa 默认预先成方法

继承JpaRepository `public interface UserRepository extends JpaRepository<User, Long> {}` 使用默认方法 @Test public void testBaseQuery() throws Exception { User user=new User(); userRepository.findAll(); userRepository.findOne(1l); userRepository.save(user); userRepository.delete(user); userRepository.count(); userRepository.exists(1l); // ...}

3.自定义简单查询

findXXBy ,readAXXBy ,queryXXBy, countXXBy, getXXBy 后面跟属性 名称:

User findByUserName(String userName);

3.1 也使用一些加一些关键字And、 Or

User findByUserNameOrEmail(String username, String email);

3.2 修改、删除、统计也是类似语法

Long deleteById(Long id); Long countByUserName(String userName)

3.3 基本上SQL体系中的关键词都可以使用,例如:LIKE、 IgnoreCase、 OrderBy。

List<User> findByEmailLike(String email); User findByUserNameIgnoreCase(String userName); List<User> findByUserNameOrderByEmailDesc(String email);
最新回复(0)