litePal的模糊查询个人见解
2015-10-14 16:18
309 查看
最近看到了郭神封装的litePal框架,而且现在也正在练习的项目中使用,感觉太方便了,查询全部的信息,一句代码即可实现,里面的很多功能博客中都有详细的介绍。以下是郭神litePla博客的地址:
转载请注明出处:/article/1375906.html
很多时候从数据表中查询都需要按条件来查询,郭神的博客中也有详细的介绍,最近在使用模糊查询的功能,博客中没有详细的介绍,以下是菜鸟自己的见解:
创建数据库、表博客中介绍的很清楚,这里就不说了,写了一个列子,
1,有张产品表(Product),里面有相应的字段,为了简单就加了几个字段,根据自己的需要可以添加。废话不多说。
public class Product extends DataSupport {
/** id **/
private int id;
/** 产品名 **/
private String productName;
/** 产品价格 **/
private float price;
/** 产品编码 **/
private int code;
/** 生产时间 **/
private int createTime;
/**
* get(),set()方法
*/
2,往表中添加几条测试数据,这里使用了for循环,所以添加的数据都会是笔记本1,笔记本2...等;
// 初始化数据
private void initData() {
// 添加几条测试数据
addData1();
addData2();
}
// 循环添加数据
private void addData2() {
Product pro = null;
for (int i = 0; i < 4; i++) {
pro = new Product();
pro.setId(2 + i);
pro.setProductName("笔记本" + i);
pro.setCode(32343213 + i);
pro.setPrice(8888 + i);
pro.setCreateTime(201555 + i);// 这里为了方便就直接把时间设置成int类型了
pro.save();
}
}
// 循环添加数据
private void addData1() {
Product pro = null;
for (int j = 0; j < 4; j++) {
pro = new Product();
pro.setId(1 + j);
pro.setProductName("笔记本电脑" + j);
pro.setCode(32343213 + j);
pro.setPrice(9999 + j);
pro.setCreateTime(201313 + j);// 这里为了方便就直接把时间设置成int类型了
pro.save();
}
}
3,页面上,根据输入的内容点击查询按钮查询相关信息,并在TextView上显示,为了方便我把list集合转换长json字符串了,需要用到GSON包。
。
4,比如需要查询表中的产品名称和时间的字段,根据输入的内容,查询出里面含有该字段的信息
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.nameBtn:// 根据产品查找
showText.setText("");//清空上一次的显示数据
// 获取输入框中的值
String name = editText_name.getText().toString();
// 匹配数据表中产品名称的字段
product = DataSupport.where("productName like ?", "%" + name + "%")
.find(Product.class);
result = gson.toJson(product);
showText.setText(result);
break;
case R.id.timeBtn: // 根据时间模糊查询
showText.setText("");//清空上一次的显示数据
// 获取输入框中的值
String time = editText_time.getText().toString();
// 匹配数据表中时间字段
product = DataSupport.where("createTime like ?", "%" + time + "%")
.find(Product.class);
result = gson.toJson(product);
showText.setText(result);
break;
}
效果图:
这就和sql语句一样了,可根据自己的需要来选择相应的查询方式
product = DataSupport.where("productName like ?", "_" + name + "%")
.find(Product.class);
product = DataSupport.where("productName like ?", name + "%")
.find(Product.class);
product = DataSupport.where("productName like ?", "___" + name + "%")
.find(Product.class);
好了,菜鸟就介绍到这里了,要感觉郭大虾提供这么好的框架,但框架好用,基础最重要!
源码地址:http://download.csdn.net/detail/sunjianhua360/9180771
转载请注明出处:/article/1375906.html
很多时候从数据表中查询都需要按条件来查询,郭神的博客中也有详细的介绍,最近在使用模糊查询的功能,博客中没有详细的介绍,以下是菜鸟自己的见解:
创建数据库、表博客中介绍的很清楚,这里就不说了,写了一个列子,
1,有张产品表(Product),里面有相应的字段,为了简单就加了几个字段,根据自己的需要可以添加。废话不多说。
public class Product extends DataSupport {
/** id **/
private int id;
/** 产品名 **/
private String productName;
/** 产品价格 **/
private float price;
/** 产品编码 **/
private int code;
/** 生产时间 **/
private int createTime;
/**
* get(),set()方法
*/
2,往表中添加几条测试数据,这里使用了for循环,所以添加的数据都会是笔记本1,笔记本2...等;
// 初始化数据
private void initData() {
// 添加几条测试数据
addData1();
addData2();
}
// 循环添加数据
private void addData2() {
Product pro = null;
for (int i = 0; i < 4; i++) {
pro = new Product();
pro.setId(2 + i);
pro.setProductName("笔记本" + i);
pro.setCode(32343213 + i);
pro.setPrice(8888 + i);
pro.setCreateTime(201555 + i);// 这里为了方便就直接把时间设置成int类型了
pro.save();
}
}
// 循环添加数据
private void addData1() {
Product pro = null;
for (int j = 0; j < 4; j++) {
pro = new Product();
pro.setId(1 + j);
pro.setProductName("笔记本电脑" + j);
pro.setCode(32343213 + j);
pro.setPrice(9999 + j);
pro.setCreateTime(201313 + j);// 这里为了方便就直接把时间设置成int类型了
pro.save();
}
}
3,页面上,根据输入的内容点击查询按钮查询相关信息,并在TextView上显示,为了方便我把list集合转换长json字符串了,需要用到GSON包。
。
4,比如需要查询表中的产品名称和时间的字段,根据输入的内容,查询出里面含有该字段的信息
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.nameBtn:// 根据产品查找
showText.setText("");//清空上一次的显示数据
// 获取输入框中的值
String name = editText_name.getText().toString();
// 匹配数据表中产品名称的字段
product = DataSupport.where("productName like ?", "%" + name + "%")
.find(Product.class);
result = gson.toJson(product);
showText.setText(result);
break;
case R.id.timeBtn: // 根据时间模糊查询
showText.setText("");//清空上一次的显示数据
// 获取输入框中的值
String time = editText_time.getText().toString();
// 匹配数据表中时间字段
product = DataSupport.where("createTime like ?", "%" + time + "%")
.find(Product.class);
result = gson.toJson(product);
showText.setText(result);
break;
}
效果图:
这就和sql语句一样了,可根据自己的需要来选择相应的查询方式
product = DataSupport.where("productName like ?", "_" + name + "%")
.find(Product.class);
product = DataSupport.where("productName like ?", name + "%")
.find(Product.class);
product = DataSupport.where("productName like ?", "___" + name + "%")
.find(Product.class);
好了,菜鸟就介绍到这里了,要感觉郭大虾提供这么好的框架,但框架好用,基础最重要!
源码地址:http://download.csdn.net/detail/sunjianhua360/9180771
相关文章推荐
- springmvc学习中~~
- 今天,你智慧了吗?
- 初识JAVA(二)(送给Java和安卓初学者)----常见错误
- python-面向对象(指数对象举例)
- 3-5年的PHPer常见的面试题
- jboss(二)--配置
- <学习笔记>jar包置放在WEB-INF/lib下和通过build path导入的区别是什么
- Redis同步(主从复制)
- 让你提升命令行效率的 Bash 快捷键
- 集群与负载均衡的概念 利用Nginx做负载均衡 最简单的入门例子
- android WebView, WebChromeClient和WebViewClient加载网页基本用法
- 在Linux下安装aws命令行操作
- jQuery笔记
- radio和label关联问题,点击label改变颜色
- ubuntu备份与恢复
- 自定义标题栏
- CSS后代选择器
- 桌面下雪效果
- iOS的UIWebView与html的交互
- MySQL Study之--Mysql无法启动“mysql.host”