DbUtils的使用
2016-03-18 16:46
253 查看
其实在网上有很多关于dbutils的使用方法,但是,我发现基本上很多都是一篇博客复制粘贴,有很多方法自己想要使用的根本要不到,实在让人很无奈,所以自己经历过这些之后,就把自己所遇到的一些问题放出来吧,不喜勿喷.
存储数据:
看起来是不是特别简单,但是我告诉你,这个bean是千万不能嵌套(不能存在内部类),如果嵌套的话存进去之后内部类是读不出来的[注:数组也是读不出来的]因此必须把内部类给拿出来,可以进行JavaBean的重构或者不解析作为字符串存储.
读取数据:也就是数据库的查询
数据的更改
删除
或许上面的这些也不够齐全,因为它提供的方法确实比较多,因此我们知道常用的就行了,还有一些不怎么常用的就需要我们去看源码来理解他的原理,只有知道了它是如何实现的,我们才能用的更加顺手
注:DbUtils本身也是一个单例模式,因此不要随手就close了哦,会报错的哦!
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) { 4000 e.printStackTrace(); } deleteById:根据id删除,还记得我们创建bean的时候为什么一定要加一个注解的id了么?这是每条数据的唯一标识呀! 当然除了这个删除还有 db.delete(ClassAndCommunityMessageBean.class,WhereBuilder.b("openId", "=", openid).and("type", "=", "community").and("isRead", ">", 0)); delete:根据条件进行删除
或许上面的这些也不够齐全,因为它提供的方法确实比较多,因此我们知道常用的就行了,还有一些不怎么常用的就需要我们去看源码来理解他的原理,只有知道了它是如何实现的,我们才能用的更加顺手
注:DbUtils本身也是一个单例模式,因此不要随手就close了哦,会报错的哦!
相关文章推荐
- Apache Commons DbUtils工具包使用介绍
- DbUtils源码阅读一:初识项目
- DbUtils源码阅读二:DbUtils与QueryLoader
- JDBC的轻量级封装DBUtils开源组件的使用(一)
- DbUtils工具简化JDBC开发
- Commons DbUtils
- DBUtil 代码细节
- DbUtils源码分析系列(一)
- Commons DbUtils综述
- Dbutils 多表联合查询不支持别名解决方法
- javaWeb笔记(五) common-dbutils.jar 的用法
- 【DButils学习之】总结
- JDBC之事务、连接池、dbutils
- Dbutils详解
- 使用java的DBUtils
- DbUtil详解
- commons_dbutils的介绍与使用
- commons-fileupload的详细介绍与使用
- 利用commons-fileupload实现文件的上传(源码)
- JAVA中的format