방 데이터베이스. Java의 기본 엔터티

소개


  • 이 시리즈는 모든 Android 메모를 저장하는 곳입니다. Android 개발에 대해 새로운 것을 배우면서 이 자습서 시리즈
  • 에 넣을 것입니다.
  • 전체 설명서 읽기HERE

  • 방은 무엇입니까?


  • Room persistence library는 SQLite에 대한 추상화 계층을 제공하여 SQLite의 필 파워를 활용하면서 보다 강력한 데이터베이스 액세스를 허용합니다.

  • SQLite는 무엇입니까?


  • 공식 SQLitedocumentation에 따르면 do not be mislead by the lite in the name. SQLite is a full featured SQL implementation . 이는 기본적으로 SQL로 수행할 수 있는 모든 동일한 규칙과 쿼리를 SQLite로도 수행할 수 있음을 의미합니다. 따라서 table , row 또는 column 와 같은 용어는 다른 SQL 기반 데이터베이스
  • 와 완전히 동일한 의미입니다.
  • 그러나 SQLite를 사용하면 지루하고 오류가 발생하기 쉬운 상용구 코드가 많이 생성될 수 있습니다. 그것이 Room이 구출하는 곳입니다. Room의 전체 작업은 SQLite 작업을 훨씬 쉽게 만드는 것입니다.

  • 엔터티 정의


  • 엔티티란 무엇입니까? Room 지속성 라이브러리를 사용할 때 저장하려는 개체를 나타내는 엔터티를 정의합니다. 각 엔터티는 연결된 Room 데이터베이스의 테이블에 해당하며 엔터티의 각 인스턴스는 해당 테이블의 데이터 행을 나타냅니다. Java 클래스에 @Entity 주석을 추가하여 엔티티를 정의합니다.

  • @Entity(tableName = "calves")
    public class Calf {
    
        @PrimaryKey(autoGenerate = true)
        private Long id;
    
        @NonNull
        @ColumnInfo(name="tag_number")
        public String tagNumber;
    
    //Constructor, getters and setters below
    }
    
    


  • @Entity 주석을 사용하면 이제 클래스의 모든 필드가 데이터베이스 테이블의 열에 매핑됩니다. 우리가 정의하는 각 엔터티에는 @PrimaryKey 주석이 달린 필드가 하나 이상 있어야 합니다. 이 필드는 기본 SQLite 데이터베이스에서 식별자 역할을 하므로 고유해야 합니다. 기본 키 필드에 autoGenerate = true가 있습니다. 이것은 SQLite 데이터베이스가 이 고유한 필드의 생성을 처리하기를 원한다는 것을 Android에 알려줍니다. 그러면 ID를 고유하게 유지하려는 매우 복잡한 코드를 처리할 필요가 없기 때문에 좋습니다.
  • 또한 @ColumnInfo(name="tag_number")를 사용하여 열의 이름을 변경하고 @Entity(tableName = "calves")를 사용하여 데이터베이스에서 전체 테이블의 이름을 변경했음을 알 수 있습니다.
  • 이제 간단하고 사용하기 쉬운 데이터베이스 엔터티 with Room
  • 을 만들었습니다.

    결론


  • 시간을 내어 제 블로그 게시물을 읽어주셔서 감사합니다. 질문이나 우려 사항이 있는 경우 아래에 의견을 말하거나 에서 저에게 연락하십시오.
  • 좋은 웹페이지 즐겨찾기