Android数据库ORMLite框架的注解详解

背景:数据库在工作中是必不可少的一个工具,所以有必要熟练操作数据库。由于工作一段时间后对数据库的操作还不是很熟练,所以现在好好的整理下数据库的一些常用技巧。
1,目前我主要用的数据库是goggle自带的SqliteOpenHelper这个帮助类,但是用起来相对麻烦,后面接触到ormlite框架,发现非常好用。于是后面改用这个框架。
Android内自带数据库帮助类SqliteOpenHelper,通过继承这个帮助类后,用sql语句就可以实现了数据库创建,更新,以及常见数据库的增,删查改操作。
ormlite优点:简单,易上手,不用sql语句。缺点:它是通过注解的方式将bean数据映射到数据库,中所以相对来说效率偏低,但是它里面有一个callBatchTasks解决了添加数据效率低的问题。

OrmLite框架使用 :
下载链接:http://ormlite.com/releases/ 下载ormlite-android-4.48.jar 和 ormlite-core-4.48.jar这两个jar包放到lib目录下就可以用这个框架了。
它有两个注解:
①添加@DatabaseTable 注解到你每个需要持久化的类的顶部。里里面成员为tableName=你的表名
②添加@DatabaseField 注解到你bean类的字段的上面。 也就是你的列名。里面的成员变量如下:

常用的注解
成员名数据类型描述
columnNameString数据库的列名。如果你没有设置这个成员名,会用标准的形式代替它。
dataType字段的数据类型。通常情况下,数据类型是从java类的成员变量获取的,并不需要进行特殊指出。它相当于是SQL的数据类型。
defaultValueString当我们在表中创建新的记录时的一个字段的默认值。默认情况下是没有这个值的。
widthInteger字段的宽度,主要用于字符串字段。默认是0,意味着采用默认的数据类型和具体的数据库的默认情况。对于字符串以为在255个字符即使有些数据库并不支持。
canBeNullBoolean字段是否能被分配null值。默认是true。如果你设置成false,那么你每次在数据库中插入数据是都必须为这个字段提供值。
idBoolean这个字段是否是id,默认是false。在一个class中只有一个成变量可以有这个值。id字段是一条记录的唯一标识而且是必需的,只有generatedId和 generatedIdSequence其中之一。
generatedIdBoolean字段是否自动增加。默认为false。类中的一个成员变量设置了这个值,它告诉数据库每添加一条新记录都自动增加id。当一个有generatedid的对象被创建时使用Dao.create()方法,数据库将为记录生成一个id,它会被返回并且被create方法设置进对象。
generatedIdSequenceString序列编号的名字,这个值在生成的时候会被使用。和generatedId相似,但是你能够指定使用的序列名称。默认是没有的。一个class中只有一个成员变量可以设置这个值。这仅仅在数据库需要序列生成id时才需要它。如果你选择使用generatedId代替它,那么代码将自动增加序列名。
其他注解
foreignthrowIfNull
useGetSetpersisted
unknownEnumNameformat
uniqueIndexNameallowGeneratedIdInsert
foreignAutoRefreshcolumnDefinition
uniqueboolean
uniqueComboindexName
indexuniqueIndexName
versionmaxForeignAutoRefreshLevel
foreignColumnNameforeignAutoCreate
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值