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:其它方法雷同,看着源码就能敲了。