LitePal是一款开源的Android数据库框架,它采用了对象关系映射(ORM)的模式,并将我们平时开发最常用的一些数据库功能进行了封装,使得不用编写一行SQL语句就可以完成各种建表和增删改查操作。
1.配置LitePal
首先在app/build.gradle文件,在dependencies闭包中添加如下内容
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:25.0.1'
compile 'org.litepal.android:core:1.3.2'//litepal依赖关系(引用)
compile 'com.orhanobut:logger:1.15'//打印日志引用
}
这样就把LitePal成功引入到项目中。
2.配置litepal.xml文件
右击app/src/main目录-->new-->Directory,创建一个assets目录,然后在assets目录下在新建一个litepal.xml文件。设置litepal.xml文件内容为:
3.配置LitePalApplication<?xml version="1.0" encoding="utf-8"?> <litepal> <dbname value="Hisdb"></dbname> <!--数据库名称--> <version value="1"></version> <!--数据库版本--> <list> <mapping class="com.ymsoft.litepal.model.User"></mapping><!--数据表User--> <mapping class="com.ymsoft.litepal.model.Dog"></mapping><!--数据表Dog--> </list> </litepal>
修改AndroidManifest.xml中的代码
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.ymsoft.litepal"> <application android:name="org.litepal.LitePalApplication" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> ........4.创建数据表
public class User extends DataSupport { private int id; private String name; private String password; private int age; 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; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }这是一个典型的Java bean 在User类中我们定义了id,name,age,password这些字段,并生成了对应的getter和setter方法,User类经过一定的处理就可以对应到LitePal相对应的数据库表,类中的每一个字段分别对应了表中的每一列。具体的对应方法为:在litepal.xml文件中的list标签下添加如下代码。 注:User类必须继承DataSupport,只有这样才可以进行CRUD操作
5.创建数据库<list> <mapping class="com.ymsoft.litepal.model.User"></mapping><!--数据表User--> <mapping class="com.ymsoft.litepal.model.Dog"></mapping><!--数据表Dog--> </list>
创建数据代码非常简单
可以由某一个按钮的单击事件触发,在单击事件中添加如下代码:
Connector.getDatabase();
6.添加数据
private void insertData() { User user = new User(); user.setId(index); user.setAge(10 + index); user.setName("admin" + index); user.setPassword("123456"); user.save(); }首先新建一个User对象,并设置该对象相应的属性的值,最后调用save方法即可将该数据保存到数据库中了。
7.修改数据
private void updateData(String name, String password) { User user = new User(); user.setId(1); user.setAge(5); user.setName("admin"); user.setPassword("123"); user.updateAll("name=? and password=?", name, password); }修改数据,调用updateAll方法,输入相应的更改条件。
8.删除
private void deleteData(String name, String password) { DataSupport.deleteAll(User.class, "name = ? and password = ?", name, password); }删除数据表中User, name和password满足对应条件的数据。
9.查询
private void selectData(String index) { List<User> users = DataSupport.select("*") .where("id>?", index) .limit(10) .offset(3) .order("id") .find(User.class); }查询通过调用select方法,设置查询条件、查询记录个数、偏移量、排序字段