http://ormlite.com/javadoc/ormlite-core/doc-files/ormlite_toc.html#SEC_Contents html
OrmLite提供了一些輕量級持久化Java對象到SQL數據庫,同時也避免了複雜性和更多的標準的ORM包的開銷功能。它支持的SQL數據庫使用JDBC的數量,還支持原生的Android操做系統數據庫API調用sqlite。首先咱們要使用它呢,就要去它的官方http://ormlite.com下載你想要的版本,這裏我下載了最新的4.30。接下來咱們來寫一個簡單的項目,同時對它的使用方法進行一個詳細的介紹。 java
創建好項目後呢,咱們加入OrmLite的jar包,而後創建兩個實體類,我用的例子是客戶和訂單,一個客戶對應多個訂單這樣的關係。 sql
|
Account: int aId,String aName;Order:int oid,String oName,Account account。 數據庫
接着就到了添加ORMLite註解了。註解是特殊的代碼標誌已在Java版本開始,要指定什麼類和字段存儲在數據庫中,ORMLite支持其本身的註解(@ DatabaseTable @ DatabaseField)或更多的標準註解從javax.persistence包。註解是最簡單的方法來配置你的類,但你也可使用Java代碼或Spring的XML配置類 。如下是註解的詳細介紹: 函數
@ DatabaseTable註解能夠有一個可選的TableName的參數指定類對應的表的名稱。若是沒有指定表名的狀況下,默認狀況下使用類名做爲對應的表名。例如: spa
@DatabaseTable(tableName = accounts) 操作系統
public class Account {...} 像這樣的話,Account類對應的表名就是accounts,若是不指定則爲account。 orm
@ DatabaseField註解能夠有如下字段: sqlite
columnName 列名,未指定時爲字段名 htm
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 行版本 當一個對象被更新,以防止數據損壞多個實體時更新在同一時間進行的保護