mirror of
https://gitee.com/many2many/java-web.git
synced 2025-01-11 14:40:55 +08:00
improve
This commit is contained in:
parent
11aab361e1
commit
7b8e45ded1
@ -261,15 +261,26 @@ JpaRepository接口继承了PagingAndSortingRepository和CrudRepository两个接
|
||||
- existsById:判断是否存在指定主键的实体。
|
||||
- flush:立即将持久化上下文的挂起状态写入数据库。
|
||||
|
||||
JpaRepository还支持自定义查询方法,这可以通过在接口中添加自定义方法来实现。自定义查询方法应使用@Query注解,具有灵活性和可扩展性,例如:
|
||||
|
||||
JpaRepository还支持自定义查询方法,这可以通过在接口中添加自定义方法来实现。
|
||||
|
||||
**通过方法名来定义查询**
|
||||
|
||||
参考[Spring Data JPA方法名命名规则](https://www.jianshu.com/p/1d6f27f675bb)
|
||||
|
||||
**使用@Query注解**
|
||||
|
||||
@Query具有灵活性和可扩展性,例如:
|
||||
|
||||
```java
|
||||
public interface UserRepository extends JpaRepository<User, Long> {
|
||||
@Query("SELECT u FROM User u WHERE u.username = ?1 AND u.age = ?2")
|
||||
List<User> findByUsernameAndAge(String username, Integer age);
|
||||
@Query("SELECT u FROM User u WHERE u.name = ?1 AND u.age = ?2")
|
||||
List<User> findByNameAndAge(String name, Integer age);
|
||||
|
||||
@Query(value="SELECT * FROM User u WHERE u.name Like %:name% AND u.age > :age" , nativeQuery = true)
|
||||
List<User> findUsers(@Param("name") String username, @Param("age") Integer age);
|
||||
}
|
||||
```
|
||||
以上代码中,定义了一个查询方法findByUsernameAndAge,使用@Query注解指定查询语句。参数值通过?1和?2进行占位并传入,同时需要注意复合查询之间的关系。
|
||||
|
||||
##### Spring Boot项目中JPA的配置
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user