LitePal框架上手小记录
16lz
2021-01-24
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的操作自行想像代码功能…… Cursorcursor=DataSupport.findBySQL("select*fromuser whereid=?", "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:其它方法雷同,看着源码就能敲了。
简单使用: 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的操作自行想像代码功能…… Cursorcursor=DataSupport.findBySQL("select*fromuser whereid=?", "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:其它方法雷同,看着源码就能敲了。
更多相关文章
- android 关于自定义Application的使用
- 解决类似微信聊天界面软键盘和表情框冲突问题
- dji msdk开发 sample测试与osdk通信
- Android多方案实现定时器功能
- Android如何使用注解进行代码检查
- android:duplicateParentState属性解释
- 基于 Android(安卓)NDK 进行 OpenGL ES开发
- android源码/内核下载
- Android(安卓)Fragment 真正的完全解析(下)