1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/iJovi-vonce-sqlbean-android

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Sqlbean для Android

Введение

Sqlbean — это инструмент, который использует идеи объектно-ориентированного программирования на Java для написания и генерации SQL-запросов. На этой основе он предоставляет лёгкую поддержку плагинов для Android SQLite. Инструмент содержит множество встроенных методов выполнения часто используемых SQL, что позволяет удобно достигать желаемых целей. Он также поддерживает относительно сложные SQL-запросы и в большинстве обычных проектов разработки практически не требует написания SQL. Это эффективно повышает производительность разработки проекта и позволяет разработчикам сосредоточиться на написании бизнес-кода.
🚀 Особенности: нулевое вторжение, автоматическое создание таблиц, автоматическое обслуживание структуры таблиц, запросы к связанным таблицам, оптимистичная блокировка, разбиение на страницы.
💻 Среда: Android 4.0+.
Для Sqlbean-Core и Java-Spring перейдите сюда 👉 gitee, github.

Простое начало работы

1. Импортируйте зависимости Gradle
implementation 'cn.vonce:vonce-sqlbean-android:1.2.0-beta19'
annotationProcessor 'cn.vonce:vonce-sqlbean-android:1.2.0-beta19'
2. Пометьте класс сущности и сопоставьте класс сущности с полями таблицы
@SqlTable("d_user")
public class User {
    @SqlId(type = IdType.SNOWFLAKE_ID_16)
    private Long id;
    private String name;
    private Integer age;
    private Integer stature;
    private Integer gender;
    private String phone;
    private Date createTime;
    /**省略get set方法*/
}
3. Получите соединение (рекомендуется установить все отношения между полями таблиц на предыдущем шаге, при первом получении соединения таблица будет создана автоматически)
public class MainActivity extends AppCompatActivity {

    private SqlBeanHelper<Essay, String> essaySqlBeanHelper;
    //private SqlBeanHelper<User, String> userSqlBeanHelper;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Способ один, режим одной библиотеки
        SQLiteHelper.init(this, "testdb", 1);// Рекомендуется размещать в MainActivity или унаследованном Application
        essaySqlBeanHelper = SQLiteHelper.db().get(Essay.class);

        //Способ два, многобиблиотечный режим
        //essaySqlBeanHelper = SQLiteHelper.db(this, "testdb1", 1).get(Essay.class);
        //userSqlBeanHelper = SQLiteHelper.db(this, "testdb2", 1).get(User.class);

    }
}
4. Операции CRUD

public class MainActivity extends AppCompatActivity {

    private SqlBeanHelper<Essay, String> sqlBeanHelper;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        SQLiteHelper.init(this, "testdb", 1);
        sqlBeanHelper = SQLiteHelper.db().get(Essay.class);

    }

    //Запрос
    public void select() {
        //Список запросов
        List<User> list = userService.select();
        list = sqlBeanHelper.selectBy(Wrapper.where(Cond.gt(User::getId, 10)).and(Cond.lt(User::getId, 20)));
        //Указать запрос
        list = sqlBeanHelper.select(new Select().column(User::getId, User::getName, User::getPhone).where().gt(User::getId, 10));

        //Запросить одну запись
        User user = userService.selectById(1);
        user = sqlBeanHelper.selectOneBy(Wrapper.where(eq(User::getId, 1001)));

        //SQL семантический запрос «20-летний пользователь женского пола, упорядоченный по времени создания в обратном порядке, получить первые 10 записей»
        list = sqlBeanHelper.select(new Select().column(User::getId, User::getName, User::getPhone).where().eq(User::getAge, 22).and().eq(User::getGender, 0).back().orderByDesc(User::getCreateTime).page(0, 10));

        //Связанный запрос «20-летняя женщина-пользователь, упорядоченная по времени создания в обратном порядке, запрашивает информацию и адрес первых 10 пользователей»
        Select select = new Select();
        select.column(User::getId, User::getName, User::getPhone, UserAddress::getProvince, UserAddress::getCity, UserAddress::getArea, UserAddress::getDetails);
        select.innerJoin(UserAddress.class).on().eq(UserAddress::getId, User::getId);
        select.where().gt(User::getAge, 22).and().eq(User::getGender, 0);
        select.orderByDesc(User::getCreateTime);
        select.page(0, 10);

        //Запрос Map
        Map<String, Object> map = sqlBeanHelper.selectMap(select);
        List<Map<String, Object>> mapList = sqlBeanHelper.selectMapList(select);
    }

    //Разбиение на страницы
    public void getPageList() {
        // Объект запроса
        Select select = new Select();
        PageHelper<User> pageHelper = new PageHelper<>(0, 10);
        pageHelper.paging(select, sqlBeanHelper);
        ResultData<List<Essay>> data = pageHelper.getResultData();
    }

    //Обновление
    public void update(Essay essay) {
        //Обновить на основе идентификатора bean
        long i = sqlBeanHelper.updateByBeanId(essay);
        //Обновить по внешнему идентификатору
        //i = sqlBeanHelper.updateById(essay, 20);
        //Обновить согласно условию
        //i = sqlBeanHelper.update(new
``` ```
Update<User>().set(User::getGender, 1).set(User::getName, "Jovi").setAdd(User::getAge, User::getAge, 1).where().eq(User::getId, 111).back());
}

//Удаление
public void deleteById(String[] id) {
    //根据id删除
    long i = sqlBeanHelper.deleteById(id);
    //根据条件删除
    //i = sqlBeanHelper.deleteBy(Wrapper.where(gt(User::getAge, 22)).and(eq(User::getGender, 1)));
}

//Вставка
public void add() {
    List<Essay> essayList = new ArrayList<>();
    for (int i = 0; i < 100; i++) {
        Essay essay = new Essay(i, "name" + i);
        essayList.add(essay);
    }
    sqlBeanHelper.insert(essayList);
}

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Это лёгкий плагин для платформы Android на базе SQLite, который позволяет очень просто подключаться к базам данных SQLite. В большинстве случаев вам не нужно писать SQL-запросы самостоятельно — плагин содержит множество встроенных часто используемых операторов, которые помогают ускорить разработку. Даже если вы столкнётесь со сложной задачей, тр... Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/iJovi-vonce-sqlbean-android.git
git@api.gitlife.ru:oschina-mirror/iJovi-vonce-sqlbean-android.git
oschina-mirror
iJovi-vonce-sqlbean-android
iJovi-vonce-sqlbean-android
master