微服務項目實戰筆記4

集成spring data JPA

JPA是Sun官方提出的Java持久化規範。所謂規範,即只定義標準規則,不提供現實。
spring Data JPA最頂層的接口是Repository,該接口是所有Repository類的父類。

package com.springboot.demo.repository;

import com.springboot.demo.repository.model.User;
import org.springframework.data.jpa.repository.JpaRepository;

public interface AyUserRepository extends JpaRepository<User,String> {
}

package com.springboot.demo.repository.model;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name = "t_sys")
public class User {
    //主鍵
    @Id
    private String id;

}

@Entity : 每個持久化POJO類都是一個實體bean,通過類的定義中使用該註解進行聲明
@Table: 聲明此對象映射到數據庫的數據表。該註釋不是必須的,如果沒有,系統就會使用默認值(實體類的短類名)
@Id : 是指標的主鍵
@Service: spring boot 會自動掃描到@Component註解的類,並把這些類放入spring容器中管理。也可以用@Component註解,只是@Service註解更能表明是服務層類
@Component: 當組件不好歸類時,使用該註解進行標註
@Repository: 持久層組件,用於標註數據訪問組件,即DAO組件
@Resource: 這個註解屬於J2EE,默認按照名稱進行裝配,名稱可以通過name屬性進行指定。如果沒有指定name屬性,當註解寫在字段上面時,就默認取字段名進行查找。如果註解寫在setter方法上,就默認屬性名進行裝配。當找不到與名稱匹配的bean時,才按照類型裝配。
@Autowired:這個註解屬於spring,默認按照類型裝配。

分頁簡單實現

 @Override
    public Page<User> findAll(Pageable pageable) {
        return ayUserRepository.findAll(pageable);
    }

自定義查詢方法
spring data jpa爲我們制訂了一系列的規範,只要按照規範編碼寫代碼,就會翻譯成相應的sql語句
例如可以使用findBy like in等關鍵字
findBy可以用read readBy query queryBy get getBy等來代替。

測試ASSERT
assert: 添加Assert斷言是軟件開發中的一種常見調試方式。從理論上來說,通過Assert斷言方式可以證明程序的正確性。提供了很多好方法,例如:isNull、isTrue等

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