一 : 创建表
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.