Litepal增删改查—实战操作(1)

说明

LitePal属于轻量级数据库,不像一些其它数据库框架需每模型类单配一映射关系XML,LitePal所有映射自动完成。据LitePal数据类型支持,可进行对象关系映射的数据类型共8种,int、short、long、float、double、boolean、String和Date。只要声明成这8种数据类型的字段都会被自动映射到数据库表中,不需任何额外配置。

配置

  • 导入包

1 compile 'org.litepal.android:core:1.3.2'

配置litepal.xml 文件 
在assets目录下新建一个litepal.xml 文件,编辑文件内容如下:

<?xml version="1.0" encoding="utf-8"?>
<litepal>

    <dbname value="easydb" />
    <version value="1" />

    <list>
        <mapping class="org.loader.litepal.Person" />
    </list>

</litepal>
  • 配置LitePalApplication 
    修改AndroidManifest.xml文件:
<application
      android:name="org.litepal.LitePalApplication"
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"

创建数据库:

1,首先定义一个实体类 Person.java

 

public class Person extends DataSupport{

    private String name;//名字
    private String time;//时间
    private String age;//年龄
    private String sex;//性别

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

    public void setTime(String time) {
       this.time = time;
    }

    public void setAge(String age) {
       this.age = age;
    }

    public void setSex(String sex) {
       this.sex = sex;
    }

    public String getName() {
       return name;
    }

    public String getTime() {
      return time;
   }

   public String getAge() {
       return age;
    }

    public String getSex() {
       return sex;
    }
 }

2 数据库操作类SqlUtils

public class SqlUtils {

    // 插入数据
    public static void insertData(String name, String time, String age, String sex) {
        Person p = new Person();
        p.setName(name);
        p.setTime(time);
        p.setAge(age);
        p.setSex(sex);
        p.save();

    }
    //删除当前时间的数据
    public static void deletePersonTime(String time) {
        DataSupport.deleteAll(Person.class,"time=?",time);
    }

    // 删除所有的数据,
    public static void deleteDataAll() {
        DataSupport.deleteAll(Person.class);
    }

    // 遍历查询所有数据,保存到List里面
    public static void lookupDataAll(List<Person>list) {
        list.clear();
        List<Person> persons = DataSupport.findAll(Person.class);
        for (Person p : persons) {
            System.out.println(p.getName());
            list.add(p);
        }
    }

    //根据时间查询对象
    public static Person timeGetlookupDataAll(String time) {
        List<Person> persons = DataSupport.findAll(Person.class);
        for (Person p : persons) {
            System.out.println(p.getName());
            if (time.equals(p.getTime())) {
                return p;
            }
        }
        return null;
    }

    //根据时间改变里面的年龄,可以灵活的更换数据更新内容
    public static void updataSql(String time,String age) {
        SQLiteDatabase db = Connector.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put("age", age);
        db.update("Person", values, "time = ?", new String[] {time});
    }


    // 除此之外litepal还给我们提供了一个可以“自由发挥”的方法,也就是自己书写sql语句
    public static void sqllite() {
        Cursor cursor = DataSupport.findBySQL("select * from phone where id=?",
                "3");
        for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {
            System.out.println(cursor.getString(cursor
                    .getColumnIndex("phonenumber")));
        }
        cursor.close();
    }
}

学习网址:https://github.com/bigfly1990/StudyLitepal.git

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值