LitePal学习总结 (八)...续一
来源:互联网 发布:mac 磁盘管理 编辑:程序博客网 时间:2024/06/02 23:07
LitePal框架是郭神的开源框架,郭神博客
惯例,膜拜一下郭神。
下面正式开播,上一篇(总结八)写的太累,但是也把简单查询给总结完了,本篇接着总结八继续写。
介绍完简单查询,我们介绍连缀查询。
郭神的连缀查询,我理解的就是根据条件查询。
举例:
查询News表中,查询id>5的数据
/** * 查询id>5的记录 */private void selectTest1() {List<News> newsList=DataSupport.where("id>?", "5").find(News.class);for (News newslist : newsList) {Log.i(TAG,"Title: " + newslist.getTitle() + "Content: "+ newslist.getContent());}}
然后在onCreate()方法里调用一下
@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);SQLiteDatabase db = Connector.getDatabase();// addMyFirstNews();// addNewsAndIntroduce();// addNewsAndComments();// addNewsAndCategories();// updateNewsInfo();// updateAllUseConditions();// updateAllUseConditions2();// deteleNews();// deteleNews2();// deleteAllUseConditions();// deleteAllUseConditions2();// findDataById();// findFirstData();// findLastData();// findAllData();// findAllBySomeId();selectTest1();}
来看一下log打印出来的结果
来看看数据库的News表的数据
经过对比,我们发现我们的查询结果是正确的。
那我们想要查询News表中id>5的数据的Content和title两列怎么弄呢?
来人,上代码
/** * 查询News表中id>5的数据的Content和title两列 */private void selectTest2() {List<News> newsList = DataSupport.select("content","title").where("id>?", "5").find(News.class);for (News newslist : newsList) {Log.i(TAG,"Title: " + newslist.getTitle() + "Content: "+ newslist.getContent());}}
然后在onCreate()方法里调用
@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);SQLiteDatabase db = Connector.getDatabase();// addMyFirstNews();// addNewsAndIntroduce();// addNewsAndComments();// addNewsAndCategories();// updateNewsInfo();// updateAllUseConditions();// updateAllUseConditions2();// deteleNews();// deteleNews2();// deleteAllUseConditions();// deleteAllUseConditions2();// findDataById();// findFirstData();// findLastData();// findAllData();// findAllBySomeId();// selectTest1();selectTest2();
来看一下Log打印出来的结果
对于News数据表中的数据
这里和上一个连缀查询的区别是,我们的返回的News对象只包含我们查询的2列。
以此类推,我们还可以对查询的结果进行排序。
来人,上代码呀
/** * 查询News表中id>5的数据的Content和title两列,并根据id降序排列。 */private void selectTest3() {List<News> newsList = DataSupport.select("content", "title").where("id>?", "5").order("id desc").find(News.class);for (News newslist : newsList) {Log.i(TAG,"Title: " + newslist.getTitle() + "Content: "+ newslist.getContent());}}
然后在onCreate()方法里调用
@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);SQLiteDatabase db = Connector.getDatabase();// addMyFirstNews();// addNewsAndIntroduce();// addNewsAndComments();// addNewsAndCategories();// updateNewsInfo();// updateAllUseConditions();// updateAllUseConditions2();// deteleNews();// deteleNews2();// deleteAllUseConditions();// deleteAllUseConditions2();// findDataById();// findFirstData();// findLastData();// findAllData();// findAllBySomeId();// selectTest1();// selectTest2();selectTest3();
来看Log打印出来的结果。
我们发现,先打印的是id=7的数据,然后是id=6的数据。
还可以进行分页
上代码
/** * 查询News表中所有数据,并根据id降序排列,并且进行分页,每页显示3个。 */private void selectTest4() {List<News> newsList = DataSupport.order("id desc").limit(3).find(News.class);for (News newslist : newsList) {Log.i(TAG,"Title: " + newslist.getTitle() + "Content: "+ newslist.getContent());}}
来看看Log打印出来的结果。
我们发现是根据id的逆序打印出来的。
那么我想利用分页查询,点击下一页的时候,下一页也显示3个数据怎么弄呢?
上代码
/** * 查询News表中所有数据,并根据id降序排列,并且进行分页,每页显示3个,点击下一页,也显示3个。 */private void selectTest5() {List<News> newsList = DataSupport.order("id desc").limit(3).offset(3).find(News.class);for (News newslist : newsList) {Log.i(TAG,"Title: " + newslist.getTitle() + "Content: "+ newslist.getContent());}}
这里显示1条的原因是,我们一共只有4条数据,上一次显示了3条。
o(︶︿︶)o 唉,终于介绍完连缀查询了,擦。想用啥直接组合上去就好了,就是这么任性。
0 0
- LitePal学习总结 (八)...续一
- LitePal学习总结 (八)
- LitePal学习总结 (八)...续二
- LitePal学习小结 (一)
- LitePal学习总结 (三)
- LitePal学习总结 (四)
- LitePal学习总结 (五)
- LitePal学习总结 (六)
- LitePal学习总结 (七)
- LitePal总结
- LitePal总结
- LitePal学习
- LitePal 学习
- 个人学习总结一机器学习入门(八)
- Android 数据库框架学习之LitePal基础(一)
- ELCImagePicker 学习总结(八)
- JAVA学习总结八
- coredata学习总结(八)
- Android中整体异常的捕获
- Android高级--自定义控件一,优酷…
- Android开发---百度地图(一)
- Android开发--百度地图(二)
- 网上又一位牛人的Machine Learning实验笔记
- LitePal学习总结 (八)...续一
- C# 给自己写的软件,加注册码功能。
- checkbox几种全选的方法
- 开始我的Qt之旅
- oracle 新建split函数
- XCode快捷键
- Zend Framework2 DB操作
- java.util.concurrent 用法实例详解
- 输入输出类的区别