Сегодня, когда я смотрел исходный код других людей, я случайно обнаружил очень полезный артефакт базы данных. Позвольте мне поделиться этим здесь.
Что такое dbflow?
DBFLOW - это библиотека инструментов для Android SQLite ORM, которая использует манипуляции с аннотациями. Проще говоря, это библиотека Java, которая работает в базе данных SQLite.
ORM (объектно-релационное отображение), переведенное как объектно-реляционное картирование на китайском, представляет собой технологию для решения явления несоответствия между объектно-ориентированными и реляционными базами данных. Проще говоря, ORM автоматически сохраняет объекты в программе в реляционную базу данных, используя метаданные, которые описывают отображение между объектом и базой данных.
Зачем использовать dbflow?
1. Скорость
Основываясь на обработке аннотации (процессор аннотации), генерация кода генерируется во время компиляции, а производительность времени выполнения превосходна. Через мультиплексирующие объекты и механизмы кэширования получается хороший опыт скорости.
2. Расширимость
Форма данных отображается с объектом данных, а класс модели наследуется через объект. Вообще говоря, этого достаточно, чтобы унаследовать класс BaseModel и добавить аннотации членам в классе, чтобы генерировать требуемую форму.
3. Заявление запроса
Если вы использовали другие библиотеки, такие как Greendao, операторы запроса очень близки к операторам SQL.
4. на основе SQLite
На платформе нет ограничений, вы можете использовать dbflow, где бы ни находился SQLite.
5. Открытый исходный код
Исходный код - это хорошая вещь, и те, кто обладает возможностями, могут проверить его. https://github.com/raizlabs/dbflow
Как использовать dbflow
Настройте среду
Независимо от того, что вы хотите изучить, среда - главная вещь. Первый шаг для трехпартийной библиотеки-импортировать библиотеку классов.
Сначала добавьте адрес Maven в главную сборку. Gradle:
AllProjects {Repositories {maven {url "https://jitpack.io"}}} Во -вторых, добавьте зависимости в модуле базового класса:
Кода -копия выглядит следующим образом:
def dbflow_version = "4.2.4" зависимости {annotationprocessor "com.github.raizlabs.dbflow: dbflow-processor: $ {dbflow_version}" compil "com.github.raizlabs.dbflow: dbflow-rx2: $ {dbflow_version}" compile "com.github.raizlabs.dbflow: dbflow-rx2: $ {dbflow_version}" "com.github.raizlabs.dbflow: dbflow-sqlcipher: $ {dbflow_version}"}
Если вам нужно добавить код Kotlin, проверьте вышеуказанный адрес исходного кода и посмотрите приведенные ниже инструкции.
использовать
Добавить init в приложение
Flowmanager.*Init*(это);
Создайте базу данных
@Database (name = dbflowdata.*Dbname*, version = dbflowdata.*Version*) public class dbflowdata {public static final String*dbname*= "dbflowdata"; Public Static Final Int *версия *= 1; }Использовать базу данных аннотации, имени базы данных имени версии базы данных базы данных
Создать форму
@Table (database = dbflowdata.class) public class dbflowmodel extends basemodel {@primarykey (autoincrement = true) public int id; @Column public String name; public int getId () {return id; } public void setId (int id) {this.id = id; } public String getName () {return name; } public void setName (string name) {this.name = name; }} Используйте аннотационные таблицы базы данных базы данных подчиненных данных, атрибуты формы Используйте различные аннотации, первичные клавиши первичных клавиш и столбцы Colum.
Примечание. BaseModel, которую мы унаследовали здесь, предоставлена DBFLOW, и она не может быть унаследована. Различия различаются только с точки зрения добавления, удаления, модификации и поиска.
После создания щелкните Build-> Make, и необходимый код будет создан под ./Build/Generated/source/apt/debug.
вставлять:
Создайте объект формы, после назначения значения вызовите метод сохранения, чтобы вставить операцию.
Кода кода выглядит следующим образом: dbflowmodel dbflowmodel = new dbflowmodel (); dbflowmodel.name = name; dbflowmodel.save ();
удалить:
Код аналогично операторам SQL для работы
Sqlite.*Delete*() .from (dbflowmodel.class). Где (dbflowmodel_table.*Id*.eq (id), dbflowmodel_table.*Name*.eq (name)) .execute ();
Запрос:
Это имеет много сложных запросов. Если вы хотите узнать больше, прочитайте официальную документацию.
Копия кода следующим образом: List <dbflowmodel> list = sqlite.*Select*(). From (dbflowmodel.class) .querylist ();
обновление:
Все они похожи.
Sqlite.*Update*(dbflowmodel.class) .set (dbflowmodel_table.*Name*.eq ("pxxxx")). Где (dbflowmodel_table.*Name*.eq ("p0000")) .execute (); Примечание. После создания новой формы вам необходимо обновить версию базы данных, в противном случае сообщается об ошибке.
Здесь я представлю базовое использование DBFLOW, в основном для обмена и записи некоторых полезных вещей.
Исходный код: https://github.com/xiaogoudandan/williamapp
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.