Рубрики
Без рубрики

База данных комнат. Сущности

Вступление Эта серия будет посвящена основам базы данных SQLite. I… С тегами java, android, новички, тристан.

  • Эта серия будет посвящена основам базы данных SQLite. Я буду следовать официальному руководству Google, ЗДЕСЬ но я буду работать в том порядке, который имеет для меня больше смысла.

Версия на Youtube

здесь

Приступая к работе

  • Прежде чем мы пойдем дальше, я бы настоятельно рекомендовал вам прочитать мою статью о том, что такое SQLite, найденную ЗДЕСЬ . Эта статья даст вам четкое представление о SQL и SQLite.

  • Вам также необходимо убедиться, что у вас установлены соответствующие зависимости. Соответствующие зависимости можно найти ЗДЕСЬ .

Что такое база данных комнат?

  • Room – это библиотека персистентности, которая предоставляет уровень абстракции поверх SQLite, позволяющий беспрепятственно получать доступ к базе данных, используя при этом все возможности SQLite. Это также дает нам 3 основных преимущества:

1): Проверка времени компиляции

2): Удобные аннотации, сокращающие количество шаблонного кода

3): Упрощенная миграция баз данных

  • По сути, это просто уровень абстракции, который значительно упрощает работу с SQLite и дает нам некоторые дополнительные преимущества.

Сущности

  • Поэтому, когда мы используем библиотеку Room persistence для хранения данных вашего приложения, мы делаем это, определяя сущности для представления объектов. Теперь термин entity на самом деле является просто общим термином программирования, который означает объект в системе но с точки зрения базы данных сущность – это объект object, содержащий информацию внутри SQLite. Если вы не знакомы с терминами SQL, вот краткий обзор:

Сущность: что-то внутри нашей системы баз данных.

Таблица: набор строк, хранящихся в памяти

Строка: набор столбцов, которые в совокупности описывают сущность.

Столбец: отдельный фрагмент данных, хранящийся в таблице

Код

@Entity(tableName = "word_table")
public class Word {

    @PrimaryKey
    @NonNull
    @ColumnInfo(name = "word")
    private String mWord;

    public Word(@NonNull String word) {this.mWord = word;}

    public String getWord(){return this.mWord;}
}
  • Теперь, когда у нас есть определенный код, давайте пройдемся по нему, строка за строкой.

)

  • @Entity – это то, как мы определяем объект базы данных в Room, а (tableName) – это то, как мы задаем имя таблицы. ((имя таблицы) на самом деле является необязательным, и если мы не определим его, имя таблицы будет таким же, как у класса.

@PrimaryKey

  • Каждый объект Room должен иметь первичный ключ . Первичный ключ используется в системах реляционных баз данных для уникальной идентификации строки внутри таблицы. @PrimaryKey используется для назначения первичного ключа, и мы должны определить первичный ключ при использовании Room.

@NonNull

  • Это полезная аннотация, которая гарантирует, что во время компиляции наш первичный ключ никогда не будет равен нулю.

)

  • Вот как мы определяем имя столбца, оно является необязательным, и если оно не определено, то имя столбца будет совпадать с именем переменной.

общедоступное слово(@NonNull Строковое слово)

  • Это всего лишь стандартный конструктор, который при создании экземпляра создаст и назначит строку первичному ключу.

общедоступная строка getWord()

  • Это базовый метод получения, однако это очень важный метод получения. В Room при создании объекта мы должны убедиться, что каждая переменная является общедоступной, чтобы Room могла создать с ней столбец. Если мы определяем переменную как закрытую, как мы это сделали, мы должны определить метод получения, как у нас есть. Этот метод получения позволяет Room получить доступ к word и превратить его в столбец первичного ключа.
  • Спасибо вам за то, что нашли время в свой рабочий день, чтобы прочитать этот мой пост в блоге. Если у вас есть какие-либо вопросы или сомнения, пожалуйста, прокомментируйте ниже или свяжитесь со мной по адресу Твиттер .

Оригинал: “https://dev.to/theplebdev/room-database-entities-2848”