1、下载相关Jar包
2、定义实体类,并为成员变量添加注解
@DatabaseTable(tableName = "accounts")
public class Account {
@DatabaseField(id = true)
private String name;
@DatabaseField(canBeNull = false)
private String password;
…
注解类型
tableName 表名
columnName 列名
dataType 数据类型
defaultValue 默认返回值
width 存储大小,一般指字符串长度限制
canBeNull 是否非空
id 主键
generatedId 主键自增长
generatedIdSequence 主键依据序列号自增长
foreign 外键
useGetSet
unknowEnumName
throwIfNull
persisted 是否存储该字段,默认true
format
unique 唯一
uniqueCombo 数据库中不能存储俩条相同的设定该属性字段的记录
index
uniqueIndex
indexName
uniqueIndexName
foreignAutoRefresh
maxForeignAutoRefreshLevel
allowGeneratedIdInsert
columnDefinition
@DatabaseField(columnDefinition = "LONGBLOB not null",
dataType = DataType.BYTE_ARRAY)
public byte[] bigBunchOfBytes;
foreignAutoCreate
version
@DatabaseField(version = true, dataType = DataType.DATE_LONG)
private Date lastModified;
foreignColumnName
3、数据类型
String (DataType.STRING)
String (DataType.LONG_STRING)
boolean or Boolean (DataType.BOOLEAN or DataType.BOOLEAN_OBJ)
java.util.Date (DataType.DATE)
java.util.Date (DataType.DATE_LONG)
java.util.Date (DATE_STRING)
byte or Byte (DataType.BYTE or DataType.BYTE_OBJ)
byte array (DataType.BYTE_ARRAY)
char or Character (DataType.CHAR or DataType.CHAR_OBJ)
short or Short (DataType.SHORT or DataType.SHORT_OBJ)
int or Integer (DataType.INTEGER or DataType.INTEGER_OBJ)
long or Long (DataType.LONG or DataType.LONG_OBJ)
float or Float (DataType.FLOAT or DataType.FLOAT_OBJ)
double or Double (DataType.DOUBLE or DataType.DOUBLE_OBJ)
Serializable (DataType.SERIALIZABLE)
// image is an object that implements Serializable
@DatabaseField(dataType = DataType.SERIALIZABLE)
Image image;
enum or Enum (DataType.ENUM_STRING)
enum or Enum (DataType.ENUM_INTEGER)
UUID (DataType.UUID)
BigInteger (DataType.BIG_INTEGER)
BigDecimal (DataType.BIG_DECIMAL)
BigDecimal (DataType.BIG_DECIMAL_NUMERIC)
DateTime (DataType.DATE_TIME)
java.sql.Date (DataType.SQL_DATE)
java.sql.Timestamp (DataType.TIME_STAMP)
4、配置DAO
Dao<Account, String> accountDao =
DaoManager.createDao(connectionSource, Account.class);
Dao<Order, Integer> orderDao =
DaoManager.createDao(connectionSource, Order.class);
public class SQLiteHelperOrm extends OrmLiteSqliteOpenHelper {
public static final String DATABASE_PATH = Environment
.getExternalStorageDirectory() + "/test.db";
@Override
public synchronized SQLiteDatabase getWritableDatabase() {
return SQLiteDatabase.openDatabase(DATABASE_PATH, null,
SQLiteDatabase.OPEN_READWRITE);
}
public synchronized SQLiteDatabase getReadableDatabase() {
return SQLiteDatabase.openDatabase(DATABASE_PATH, null,
SQLiteDatabase.OPEN_READONLY);
}
}