博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android中OrmLite持久化
阅读量:5978 次
发布时间:2019-06-20

本文共 2003 字,大约阅读时间需要 6 分钟。

hot3.png

OrmLite提供了一些轻量级持久化Java对象到SQL数据库,同时也避免了复杂性和更多的标准的ORM包的开销功能。它支持的SQL数据库使用JDBC的数量,还支持原生的Android操作系统数据库API调用sqlite。首先我们要使用它呢,就要去它的官方http://ormlite.com下载你想要的版本,这里我下载了最新的4.30。接下来我们来写一个简单的项目,同时对它的使用方法进行一个详细的介绍。

  建立好项目后呢,我们加入OrmLite的jar包,然后建立两个实体类,我用的例子是客户和订单,一个客户对应多个订单这样的关系。

Android中如何使用OrmLite持久化

  接着为这两个实体类添加属性和字段,需要注意的是,一定要有一个无参的构造函数,OrmLite创建对象时需要使用。

  Account: int aId,String aName;Order:int oid,String oName,Account account。

  接着就到了添加ORMLite注解了。注解是特殊的代码标志已在Java版本开始,要指定什么类和字段存储在数据库中,ORMLite支持其自己的注解(@ DatabaseTable @ DatabaseField)或更多的标准注解从javax.persistence包。注解是最简单的方法来配置你的类,但你也可以使用Java代码或Spring的XML配置类 。以下是注解的详细介绍:

  @ DatabaseTable注解可以有一个可选的TableName的参数指定类对应的表的名称。如果没有指定表名的情况下,默认情况下使用类名作为对应的表名。例如:

  @DatabaseTable(tableName = accounts)

  public class Account {...} 像这样的话,Account类对应的表名就是accounts,如果不指定则为account。

  @ DatabaseField注解可以有以下字段:

  columnName 列名,未指定时为字段名

  dataType DataType类的类型的字段。通常的类型是从Java类的领域,并不需要指定。

  defaultValue 默认值

  width 宽度 默认是0,表示不限

  canBeNull 是否允许为空,默认为true

  id 主键 默认为false

  generatedId 自增长的主键 默认值是false

  generatedIdSequence 字符串名称的序列号 类同generatedId,但您可以指定序列的名称使用。默认为null

  foreign 外键,默认为false,字段不能是一个原始类型。在外键对象的类中,必须要有一个ID字段(ID, generatedId,generatedIdSequence)

  useGetSet 应用get和set方法访问。默认为false

  unknownEnumName 表示该字段是一个Java的枚举类型

  throwIfNull 如果为空值,抛出一个异常 默认为false

  persisted 是否在数据库中存储这个领域 默认为true

  format 指定某一特定领域的信息格式,如指定日期字符串的格式

  unique 唯一约束,默认为false

  uniqueCombo 唯一行,该行内所有字段成为一个唯一约束,如有firstName 和 lastName两个字段,为张和梅,那么该表内不可再插 入张,梅, 但你可插入张,全梅。

  index 是否建立索引 默认为false

  uniqueIndex 唯一索引 默认为false

  indexName 为这一领域的索引添加一个名字

  uniqueIndexName 为这一领域的索引添加一个唯一的名字

  foreignAutoRefresh 当查询到一个外键对象时,是否自动刷新 如 Order表中有Account外键对象,当返回Order的记录时是否也返回Account的记录, 默认为false

  maxForeignAutoRefreshLevel 为了防止无限递归或者无限循环时 需要用到该属性设置自动刷新的最高级别

  allowGeneratedIdInsert 插入一个ID字段是否覆盖它生成的ID的对象 默认为false

  columnDefinition 定义列,默认情况下,数据库类型是用于自动生成所需的SQL来创建列,所以该属性并不常用

  foreignAutoCreate 在插入一个有外键对象的对象时,是否自动插入这个外键对象

  version 行版本 当一个对象被更新,以防止数据损坏多个实体时更新在同一时间进行的保护

转载于:https://my.oschina.net/xiahuawuyu/blog/85213

你可能感兴趣的文章
代码生成工具Database2Sharp中增加视图的代码生成以及主从表界面生成功能
查看>>
关于在VS2005中编写DLL遇到 C4251 警告的解决办法
查看>>
提高信息安全意识对网络勒索病毒说不
查看>>
我的友情链接
查看>>
IDE---Python IDE之Eric5在window下的安装
查看>>
Mybatis调用Oracle中的存储过程和function
查看>>
基本安装lnmp环境
查看>>
yum源资料汇总
查看>>
7、MTC与MTV,http请求介绍
查看>>
logstash消费阿里云kafka消息
查看>>
unix 环境高级编程
查看>>
MAXIMO 快速查找实现
查看>>
Oracle——条件控制语句
查看>>
day-6 and day-7:面向对象
查看>>
CSU Double Shortest Paths 湖南省第十届省赛
查看>>
webgl像机世界
查看>>
php正则怎么使用(最全最细致)
查看>>
javascript数学运算符
查看>>
LC.155. Min Stack(非优化,两个stack 同步 + -)
查看>>
交互设计[3]--点石成金
查看>>