DbUtils的使用
来源:互联网 发布:软件打不开的原因 编辑:程序博客网 时间:2024/06/05 16:27
其实在网上有很多关于dbutils的使用方法,但是,我发现基本上很多都是一篇博客复制粘贴,有很多方法自己想要使用的根本要不到,实在让人很无奈,所以自己经历过这些之后,就把自己所遇到的一些问题放出来吧,不喜勿喷.
DbUtils是什么?
说起xUtils可能大家都不陌生吧!快速开发框架必备呀,它集成了网络请求,图片加载,ViewUtils模块还有一个模块,就是今天我们要说的DbUtils模块,它很好的集成了数据库的增删改查,不用我们自己去建表,也不用我们自己一句一句的去写查询语句,这简直就是福音呀!
DbUtils的使用
- 初始化数据库:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //一般在onCreate的方法中初始化private DbUtils db=db = DbUtils.create(this);//初始化数据库 }
- 存储数据:
public class PublicMessageBean implements Serializable { private static final long serialVersionUID = 1L; //一定要添加的,要不然查询的时候取不出数据 @Id public int id; public int messageType; public String urlLink; public String openId; public int isRead; public String type; public int cid; public int dataType; }
//pushBean就是一个javaBean db.save(pushBean);
看起来是不是特别简单,但是我告诉你,这个bean是千万不能嵌套(不能存在内部类),如果嵌套的话存进去之后内部类是读不出来的[注:数组也是读不出来的]因此必须把内部类给拿出来,可以进行JavaBean的重构或者不解析作为字符串存储.
- 读取数据:也就是数据库的查询
List<ClassAndCommunityMessageBean> list = db.findAll(Selector.from(ClassAndCommunityMessageBean.class).where("type", "=", "class").and("openId", "=", openid).orderBy("createdatetime", true));findAll:查找全部Selector.from:从xx查询where:条件and:与where并列的条件orderBy:根据xx排序 合起来这句话的意思就是:查找数据库中ClassAndCommunityMessageBean类中type="class"并且openId=openid,根据"createdatetime"字段的正序排列
ClassAndCommunityMessageBean classBean = db.findFirst(Selector.from(ClassAndCommunityMessageBean.class).where("type", "=", "class").and("openId", "=", openid).orderBy("createdatetime", true));findFirst:查找第一个这段代码和上面的类似,只是这段代码只是查找第一个而已
- 数据的更改
ClassAndCommunityMessageBean messageBean = new ClassAndCommunityMessageBean(); messageBean.isRead = 0;db.update(messageBean, WhereBuilder.b("openId", "=", openid).and("type", "=", "community").and("isRead", ">", 0), "isRead");update:更改WhereBuilder:条件语句and:与一个条件并列的条件语句这句语句的意思就是:更改与messageBean类型相同的,并且openId=openid;type="community",并且"isRead"字段>0的,更改的是"isRead"字段,并且这个字段改为和messageBean.isRead的值相同.理解起来会有点绕,但是它的语言就是这样....
- 删除
try { db.deleteById(ClassAndCommunityMessageBean.class,message.id); } catch (DbException e) { e.printStackTrace(); }deleteById:根据id删除,还记得我们创建bean的时候为什么一定要加一个注解的id了么?这是每条数据的唯一标识呀!当然除了这个删除还有 db.delete(ClassAndCommunityMessageBean.class,WhereBuilder.b("openId", "=", openid).and("type", "=", "community").and("isRead", ">", 0));delete:根据条件进行删除
或许上面的这些也不够齐全,因为它提供的方法确实比较多,因此我们知道常用的就行了,还有一些不怎么常用的就需要我们去看源码来理解他的原理,只有知道了它是如何实现的,我们才能用的更加顺手
注:DbUtils本身也是一个单例模式,因此不要随手就close了哦,会报错的哦!
0 0
- dbutils的使用
- DBUtils框架的使用
- DButils的使用感受
- DbUtils 的常规使用
- common-dbutils的使用
- Dbutils 的使用
- DButils 的使用
- apache--dbutils的使用
- DBUtils的使用
- DbUtils的使用
- 使用java的DBUtils
- DbUtils的使用
- DBUtils的使用
- DbUtils工具的使用
- dbUtils工具的使用
- DBUtils工具的使用
- Java DbUtils的使用
- DBUtils的使用.
- Android 打造底部导航控件
- new 和malloc的区别
- 哪些规则很重要,但却是99%职场人都不知道的?
- ListView做一个简单的物价条
- TCP保活(TCP Keep alive)
- DbUtils的使用
- Floating
- 算法学习——树状数组
- 不用0,1,2,以及加减乘除来进行运算——阿隆佐·邱奇
- Subarray Substring vs Subsequence
- 解读前端开发工程师必备技能
- 数学题-矩阵翻硬币-找规律
- cocos2dx-lua 示例运行
- Android进程间通信