LitePal创建数据库 增删改查

一,配置

dependencies {
    implementation 'org.litepal.guolindev:core:3.1.1'
}

二,在main下新建assets文件夹,xml文件夹下新建litepal.xml 文件 如图在这里插入图片描述
litepal.xml内容如下:

<?xml version="1.0" encoding="utf-8" ?>
<litepal>
    <!--    数据库名  -->
    <dbname value="BookStore"></dbname>
    <!--    数据库版本号  -->
    <version value="1"></version>
    <list>
        <mapping class="com.example.testall.Book">

        </mapping>
        <!--    数据表:用于指定所有的映射模型
        com.example.testall.Book 注意testall是我的类名-->

    </list>
</litepal>

在AndroidMAainifest中加上

android:name="org.litepal.LitePalApplication"

在这里插入图片描述

三,使用
1,创建数据库
1)
首先先定义一个Book类 对应数据库中的表

package com.example.testall;

import org.litepal.crud.LitePalSupport;
import org.litepal.exceptions.DataSupportException;

public class Book extends LitePalSupport{
    private int id;
    private String author;
    private double price;
    private int pages;
    private String name;

    public void setId(int id){
        this.id = id;
    }
    public int getId(){
        return id;
    }

    public void setAuthor(String author){
        this.author = author;
    }
    public String getAuthor(){
        return author;
    }

    public void setPrice(double price){
        this.price = price;
    }
    public double getPrice(){
        return price;
    }

    public void setPages(int pages){
        this.pages = pages;
    }
    public int getPages(){
        return pages;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

}

2),在MainActivity中创建数据库

public void palCreat(View view){
        Connector.getDatabase();//数据库创建完成
    }

2,添加

public void palAdd(View v){//添加
        Book book = new Book();
        book.setAuthor("作者");
        book.setName("名字");
        book.setPages(534);
        book.setPrice(56);
        book.save();
    }

3,获取

public void palQuery(View v){//查询
        List<Book> books = LitePal.findAll(Book.class);
        for(Book book:books){
            Log.d("test","BookName:"+book.getName());
            Log.d("test","Author:"+book.getAuthor());
            Log.d("test","Page:"+book.getPages());
            Log.d("test","Price:"+book.getPrice());
            Log.d("test","All:"+book);
        }
    }

创建-添加-获取 得到:在这里插入图片描述

4,删除

 public void palDel(){//删除
        LitePal.deleteAll(Book.class,"price < ?","15");
    }
//第一个参数指定删除哪张表  "price < ?","15"  表示价格低于15都删除

5,更新

public void palUpdate(View view){//更新
        Book book = new Book();
        book.setPrice(10);
        book.updateAll("name=? and author = ?","名字","作者");
    }

更新在获取得到 价格变成10在这里插入图片描述

在Android应用中,LitePal是一个轻量级的ORM(Object-Relational Mapping,对象关系映射)框架,它使得开发者能够方便地操作SQLite数据库,而无需编写繁琐的SQL语句。以下是使用LitePal实现用户基本信息存储的基本步骤: 1. **设置环境**:首先需要在项目中添加LitePal的依赖,并初始化它。在build.gradle文件中添加litepal库依赖,然后在Application类中注册LitePal。 ```java dependencies { implementation 'com.j256.ormlite:ormlite-android:5.1' } // 在Application类中 public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); DatabaseHelper helper = new DatabaseHelper(this); helper.createTablesIfNotExists(); } } ``` 2. **创建数据库表**:使用LitePal的`$table`关键字创建User表,包含基本字段如username、password等。 ```java @Table(name = "users") public class User { // 定义列和getter/setter @Column(unique = true) private String username; private String password; // getters and setters... } ``` 3. **插入数据**:通过实例化User对象并调用其`save()`方法来保存用户信息。 ```java User user = new User(); user.setUsername("test"); user.setPassword("password"); user.save(); ``` 4. **查询数据**:可以使用 LitePal 的 `find`, `get` 或 `where` 方法获取用户信息。 ```java List<User> users = User.all(); // 获取所有用户 User foundUser = User.get(1); // 根据ID获取特定用户 List<User> usersByUsername = User.where().eq("username", "test").find(); ``` 5. **更新和删除数据**:更新用户信息使用 `update()`,删除使用 `delete()` 方法。 ```java user.setPassword("newPassword"); user.update(); User deleteUser = User.get(1); if (deleteUser != null) { deleteUser.delete(); } ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值