Для этого вы можете использовать JPA и Spring Data JPA .Это означает, что вы должны сопоставить свои таблицы с сущностями, например:
@Entity
@Table(name = "USER_TABLE")
public class User {
@Id
private Long userId;
private String username;
private String status;
// Getters, setters, ...
}
После этого вы можете использовать Spring Data JPA для создания репозитория:
public interface UserRepository extends JPARepository<User, Long> {
}
Это также позволяет вамсоздавать пользовательские запросы несколькими способами, например, используя аннотацию @Query
, методы запросов, ....
public interface UserRepository extends JPARepository<User, Long> {
@Query("select count(u.userId) from User u where u.username = :username AND u.status != 'deleted'")
int countNonDeletedUsersByUsername(@Param String username);
}
В этом запросе используется JPQL (язык запросов для JPA), ноесли вы предпочитаете писать собственные запросы, вы всегда можете включить флаг nativeQuery
, как указано в документации :
Аннотация @Query
позволяет запускать собственные запросы с помощьюустановка флага nativeQuery
на true
.