注解、反射实现SQLite操作

本文介绍了如何利用注解和反射技术实现SQLite数据库的增删查改操作。通过定义特定的注解解析实体类,转化为Table对象存储在TableManager中,简化了数据库操作。详细讲解了项目结构、使用步骤,并给出了增删查改的示例。
摘要由CSDN通过智能技术生成

年前在看Annitation相关的知识,看着看着就想写点东西验证一下成绩,于是就有个这个SounderDao
先附上github地址SounderDao
先谈谈工具的思路:通过注解和反射将每个实体类解析为一个Table对象(Table中保存有数据表字段信息,表名称,建表语句信息),然后将Table保存到TableManager中,这样不必每次都需要去解析实体类,然后在Dao中实现增删查改的操作。
类文件结构如下:
这里写图片描述
其中annotation包中的Constraint为字段属性注解,FieldType为枚举常量类,Table为表名称注解,注意下面还有一个Table类,那是表信息类(怪我,取名字时把没注意上面的注解);Dao中就是一些数据库的操作处理了,model包中的Param为表字段的属性,如字段名称,字段类型等等;resolver包中的Resolver时注解解析器,util里的ComparatorUtil时集合排序类,对表里面的字段进行一次排序,让结果美观一点点。。。

使用步骤
1、解析出所有表信息
使用Dao中的静态方法initTables(Class

for(String key : TableManager.getInstance().getTableHashMap().keySet()){              db.execSQL(TableManager.getInstance().getTableHashMap().get(key).getCreateTableStatement());
}

在调用Dao.initTables()以后,就需要调用Dao.getInstance().setSQLiteOpenHelper()方法设置Helper对象,方才能够获取到SQLiteDatabase对象。(数据库会在SQLiteOpenHelper调用getXXXDatabase()后才会创建)
接下来就可进行数据表的操作了。

(ps:增删修改操作方法都在Dao类中)

public void insert(Object object){
        Table table = TableManager.getInstance().get(object
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值