浅谈Android数据库CRUD操作的封装与实现(一)
Android系统内部集成了SQLite数据库,可是杯具的却没有Android系统可用的Hibernate。
想当初做JavaEE时有Hibernate在手的那个飘逸,我尝试用JavaEE的思路封装了一个类似的工具包。(感谢“编程浪子”在JavaEE上给我的帮助)
?
首先,晒晒我的包结构:
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
大家可以看到,我在项目中创建了两个SourceFolder。其中core文件夹下存放的都是通用代码,可以在其他项目中重复使用(当然最好是导出jar包了)。org.dw.core.utils包下是一些工具类,所提供的都是静态方法(可以开源的)。org.dw.core.db包下就是数据库的操作工具了。EntityDao是一个泛型接口,定义了CRUD的方法,其他实体DAO都要实现她。目前只做到这一步,下一步将利用反射实现更高级的封装。
?
上代码:
?这样就可以在你需要查寻数据的地方创建一个"SimpleMessageDao"对象来实现数据库的操作了。
比如要查询所有消息,并以ListView显示出来就很简单了(呵呵,再也不用被那个变态的"SimpleCursorAdapter"搞崩溃了吧!):
?
?到目前为止,这个工具类还很简单。如果加上BeanUtils实现方向解析实体,整个代码会更加简洁。