ormlite学习笔记

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);
    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值