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
- LitePal框架上手小记录
- LitePal快速上手!
- 学习持久层框架中的小记录
- ~~小记录~~
- 小记录
- 小记录
- 小记录
- 小记录
- 小记录
- 小记录
- litepal ORM框架
- litepal---Android数据库框架
- Android框架LitePal
- LitePal---Android数据库框架
- 一个小记录
- event objects 小记录
- linux初学小记录
- 功能小记录
- ZigZag Conversion
- linux中几个非常有用的指令(2)
- 详解 CALayer 和 UIView 的区别和联系
- 杭电1087Super Jumping! Jumping! Jumping!
- 【swift 学习】第二课---类型转换,类型别名,元祖,可选类型,可选绑定,断言
- LitePal框架上手小记录
- 找到工作了
- vector<bool>STL中的陷阱
- POJ 2991 Crane(线段树+计算几何—更新向量)
- 在嵌入式设备中使用protobuf
- fgets函数和gets函数
- SQL学习之通配符
- Apply()和call() @知乎
- Handler消息传递机制(一)