Android数据库之LitePal的简单使用

一 : 创建表

1.引用依赖

    在项目的build.gradle文件中导入依赖

//litepal数据库
    compile 'org.litepal.android:core:1.4.1'

2.在asstes文件夹中创建litepal.xml文件

<?xml version="1.0" encoding="utf-8"?>  
<litepal>  
    <dbname value="demo" ></dbname>  
  
    <version value="1" ></version>  
  
    <list>  
    </list>  
</litepal> 
3. 配置LitePalApplication
<manifest>  
    <application  
        android:name="org.litepal.LitePalApplication"  
        ...  
    >  
    ...  
    </application>  
</manifest>

4.每一张表都应该对应一个数据模型(Model),也就是说,如果我们想要建一张users表,就应该有一个对应的Users模型类。新     建一个Users类,表中的每一列其实就是对应了模型类中的一个字段,比如在users表中有username和password这两列,那么在Users类中就也应该有这两个字段(id字段几乎是每个表所必有的,所以默认加上)

public class Users extends DataSupport{  
      
    private int id;  
      
    private String username;  
      
    private String password;   
      
    // 自动生成get、set方法  
    ...  
} 
5. 将它配置到映射列表当中。编辑assets目录下的litepal.xml文件,在<list>标签中加入Users模型类的声明
<?xml version="1.0" encoding="utf-8"?>  
<litepal>  
    <dbname value="demo" ></dbname>  
  
    <version value="1" ></version>  
  
    <list>  
        <mapping class="com.example.databasetest.model.Users"></mapping>  
    </list>  
</litepal> 
6. OK,这样所有的工作就都已经完成了,现在只要你对数据库有任何的操作,users表就会被自动创建出来。比如说LitePal提供了一个便捷的方法来获取到SQLiteDatabase的实例
SQLiteDatabase db = Connector.getDatabase(); 

二 : 操作数据库

1.添加

    在要执行操作的类中创建表对象,set添加数据,save()方法保存.

Users users = new Users();
users.setUsername("123");
users.setPassword("456");
users.save();

2.删除

DataSupport.deleteAll(Users.class,"username=?","123");

3.查询

    list形式保存查询结果

扫描二维码关注公众号,回复: 997710 查看本文章

    3.1 查询所有数据

List<Users> users_mes = DataSupport.findAll(Users.class);
for (Users users : users_mes){
    Log.i("------","username is : "+users.getUsername);
    Log.i("------","password is : "+users.getPassword);
}

    3.2 按条件查询

        3.2.1 select()方法用于查询哪几列数据        

List<Users> users = DataSupport.select("username").find(Users.class);

        3.2.2 where()方法用于指定查询的约束

List<Users> users = DataSupport.where("username = ?","123").find(Users.class);

        3.2.3 order()方法用于指定结果的排序方式(desc 降序,asc(或不写) 升序)

List<Users> users = DataSupport.order("username desc").find(Users.class);

        3.2.4 limit()方法用于指定查询结果的数量,比如只查询表中的前三条数据

List<Users> users = DataSupport.limit(3).find(Users.class);

        3.2.5 offset()方法用于指定结果的偏移量,比如查询第2,3,4条数据

List<Users> users = DataSupport.limit(3).offset(1).find(Users.class);

        当然,你还可以对着几种方法进行任意的连缀组合,来完成一个复杂的查询

List<Users> users = DataSupport
.select("username")
.where("123")
.order("username")
.limit(3)
.offset(1)
.find(Users.class);

        同时LitePal还支持原生的SQL来进行查询

Cursor c = DataSupport.findBySQL("select * from Users where username = ?","123");

4.


猜你喜欢

转载自blog.csdn.net/qq_19681347/article/details/80299619