xUtils - 更新:链式表达查询,更具可读性android数据库查询。

原创
2013/08/11 23:54
阅读数 3.8K


最近有网友留言, 问xUitls会不会像其他几个同类库一样支持不是很好,有问题没地方反馈,或者反馈完就没音讯了。

我在这里郑重的告诉大家绝对不会,xUtils的支持绝对是最快的,只要时bug问题一般我都会在当天抽时间(一般会在晚上)修复;如果是希望xUtils加入的新功能,或改进等建议被采纳都会马上加入开发计划中。

有建议其他反馈,或者交流可以通过一下方式:
Email: wyouflf@qq.com, wyouflf@gmail.com
QQ群:330445659, 技术交流,idea分享 _

下面是最近的主要更新内容:

1.  加入更多注解事件的支持:
        OnClickListener,
        OnLongClickListener,
        OnItemClickListener,
        OnItemLongClickListener,
        RadioGroup.OnCheckedChangeListener,
        CompoundButton.OnCheckedChangeListener,
        Preference.OnPreferenceChangeListener,
        TabHost.OnTabChangeListener,
        ViewTreeObserver.OnScrollChangedListener,
        OnItemSelectedListener,
        SeekBar.OnSeekBarChangeListener.

2.  数据库查询添加链式表达函数支持:
查询表达式的可读性更强,更加灵活。

DbUtils db = DbUtils.create(this);
User user = new User(); //这里需要注意的是User对象必须有id属性,或者有通过@ID注解的属性
user.setEmail("wyouflf@qq.com");
user.setName("wyouflf");
db.save(user); // 使用saveBindingId保存实体时会为实体的id赋值


...
// 查找
Parent entity = db.findById(Parent.class, parent.getId());
Parent entity = db.findFirst(entity);//通过entity的属性查找
List<Parent> list = db.findAll(entity);//通过entity的属性查找
Parent Parent = db.findFirst(Selector.from(Parent.class).where("name","=","test"));
List<Parent> list = db.findAll(Selector.from(Parent.class)
                                   .where("id","<",54)
                                   .and("age",">",30)
                                   .or("age","<",20)
                                   .orderBy("id")
                                   .limit(10)
                                   .offset(0));
DbModel dbModel = db.findDbModelAll(Selector.from(Parent.class).select("name"));//select("name")只取出name列
List<DbModel> dbModels = db.findDbModelAll(Selector.from(Parent.class).groupBy("name").select("name", "count(name)"));
...


最新的代码和介绍从这里获取https://github.com/wyouflf/xUtils


展开阅读全文
打赏
2
7 收藏
分享
加载中
where uid = 1 and (name = n1 or code = c1) 这样的条件怎么写?
2015/08/07 10:23
回复
举报
大神,请容我一拜!
2015/03/08 10:33
回复
举报
wyouflf博主

引用来自“wangsm”的评论

您好,支持多表操作吗 多表联合查询删除更新

查询刚在另外一个帖子回复你了
多表的删除和更新:
public void execNonQuery(SqlInfo sqlInfo)
public void execNonQuery(String sql)
2013/11/26 16:29
回复
举报
您好,支持多表操作吗 多表联合查询删除更新
2013/11/26 15:53
回复
举报
wyouflf博主

引用来自“Andylee_2013”的评论

我很多fragment,activity中需要操作数据库,那每次都需要create么?我包含数据库名称和版本号,这参数每次都要带么?

恩 可以的 同一个库不会创建多份实例的 DbUtils会自己管理创建的实例。
2013/10/23 10:17
回复
举报
我很多fragment,activity中需要操作数据库,那每次都需要create么?我包含数据库名称和版本号,这参数每次都要带么?
2013/10/23 09:38
回复
举报
wyouflf博主

引用来自“我呀”的评论

WhereBuilder.b

你编译一下的sample例子试试
2013/09/22 19:15
回复
举报
WhereBuilder.b
2013/09/22 14:55
回复
举报
Selector.from这里老是报错,没有from属性
2013/09/22 14:55
回复
举报
支持,省了一半代码
2013/08/30 17:07
回复
举报
更多评论
打赏
14 评论
7 收藏
2
分享
返回顶部
顶部