LitePal框架上手小记录

来源:互联网 发布:淘宝怎么免费做推广 编辑:程序博客网 时间:2024/06/18 15:00
LitePal的源码: https://github.com/LitePalFramework/LitePal

简单使用:
1、配置LitePal:(注意!)
在manifest.xml的Application标签写上android:name="org.litepal.LitePalApplication"
或者在代码中用“LitePalApplication.initialize(context)”初始化

2、配置关系:
在asset文件夹中新增XML文件,内容如下:
<litepal>
  <dbname value="mydemo" />
  <version value="1" />
  <list>
  <mapping class="com.example.mydemo.entity.User" />
  <mapping class="com.example.mydemo.entity.Book"/>
  </list>
</litepal>

然后实体要继承DataSupport,如以下代码配置了User与Book的一对多关系:
public class User extends DataSupport{
  private int id;
  private String name;
  private List<Book> lsBook;
......//setter and getter
}
public class Book extends DataSupport{
  private int id;
  private User user;
......//setter and getter
}

3、然后可以进行CURD操作了(在进行第一次操作时,框架会自动创建数据库)
新增:
User user = new User();
user.setId(1);
user.setName("grey");
user.save();//新建对象,设置属性,然后就可以直接save保存对象了

更新:
Android.content.ContentValues values = new ContentValues();
values.put("name", "grey");
DataSupport.update(User.class, values, 1); //将user表中id为1的记录的name字段修改为grey
//DataSupport.updateAll(User.class, values, "id>?", "1"); //类似Java数据库操作的prepareStatement()方法,条件句中的 ? 将被后面变量代替。整句代码的作用是将id>1的所有记录的name字段修改为grey

User user= new User();
user.setName("grey");
user.update(1); //调用对象上的update方法将user表中id为1的记录的name字段更新为grey

查询:
List<User> users= DataSupport.where("id>?", "1").order("id").limit(3).find(User.class, 3);//结合上面的例子和JDBC的操作自行想像代码功能……
Cursor cursor = DataSupport.findBySQL("select * from user where id=?", "3"); //如码,可以自己编写SQL语句

删除:
int deleteCount = DataSupport.delete(User.class, 1);
System.out.println(deleteCount);
删除一条数据,litepal会把与该数据关联的其他表中的数据一并删除了,即JDBC中的级联删除!! 

DataSupport.deleteAll(User.class, "id>?", "1");
DataSupport.deleteAll(User.class); //删除所有

PS:其它方法雷同,看着源码就能敲了。
0 0