springdatajpa中提供的查询是什么查询
时间: 2023-11-25 20:56:34 浏览: 130
spring data jpa 的Specifications动态查询
Spring Data JPA 提供了基于方法名的查询和基于@Query注解的查询两种查询方式。
1. 基于方法名的查询
Spring Data JPA 会根据方法名自动解析出查询语句。例如:
- findByUsername(String username): 根据用户名查询用户信息
- findByEmail(String email): 根据邮箱查询用户信息
- findByUsernameAndEmail(String username, String email): 根据用户名和邮箱查询用户信息
Spring Data JPA 支持的关键字有:And、Or、OrderBy、Asc、Desc、Between、LessThan、GreaterThan、Like、NotLike、IsNull、IsNotNull、In、NotIn、IgnoreCase等。
2. 基于@Query注解的查询
@Query注解可以用来自定义查询语句。例如:
```java
@Query("select u from User u where u.username = :username")
User findByUsername(@Param("username") String username);
```
其中@Param注解用于指定参数名,避免参数名与实体类属性名不一致导致的错误。
@Query注解还支持原生SQL语句查询,例如:
```java
@Query(value = "select * from user where username = :username", nativeQuery = true)
User findByUsername(@Param("username") String username);
```
需要注意的是,使用原生SQL语句查询时需要设置nativeQuery参数为true。
阅读全文