SpringDataJPA之CrudRepository接口

Repository接口,該接口並沒有提供完成的DML操作,SpringDataJPA中完成的CRUD操作是通過CrudRepository接口來實現的。

CrudRepository接口
  CrudRepository接口繼承自Repository接口,所以Repository接口具有的功能CrudRepository接口都具有,同時又擴展了CRUD相關的功能

API方法介紹
  CrudRepository接口提供瞭如下的方法:

package org.springframework.data.repository;

import java.util.Optional;

@NoRepositoryBean
public interface CrudRepository<T, ID> extends Repository<T, ID> {
    <S extends T> S save(S var1);

    <S extends T> Iterable<S> saveAll(Iterable<S> var1);

    Optional<T> findById(ID var1);

    boolean existsById(ID var1);

    Iterable<T> findAll();

    Iterable<T> findAllById(Iterable<ID> var1);

    long count();

    void deleteById(ID var1);

    void delete(T var1);

    void deleteAll(Iterable<? extends T> var1);

    void deleteAll();
}

具體用法

public interface HurPersonBaseRepository extends CrudRepository<HurPersonbase, UUID> {

    @Query(value = "select * from Hur_PersonBase where passport=(?1)", nativeQuery = true)
    public HurPersonbase findByPassport(String passport);

    HurPersonbase findByPassportAndPassword(String username, String password);

    Page<HurPersonbase> findAll(Specification<HurPersonbase> spec, Pageable pageable);
}

定義相關表結構對象

框架會生成查詢語句


@Entity
@Table(name = "hur_personbase")
public class HurPersonbase {

    @Id
    public String personid;

    public String passport;

    public String password;

    public String personname;

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getPersonid() {
        return personid;
    }

    public void setPersonid(String personid) {
        this.personid = personid;
    }

    public String getPassport() {
        return passport;
    }

    public void setPassport(String passport) {
        this.passport = passport;
    }

    public String getPersonname() {
        return personname;
    }

    public void setPersonname(String personname) {
        this.personname = personname;
    }


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章