Android ORM 框架之 Android中ORMLite应用基础

本文介绍了Android中ORMLite框架的应用基础,包括添加依赖、创建Bean类、建立数据库、创建DAO以及事务处理等关键步骤,并提供了详细的示例代码。通过ORMLite,开发者可以方便地进行数据库操作,如增删查改,并支持外键和事务管理,简化Android应用的数据库管理。
摘要由CSDN通过智能技术生成

ORMLite是常用的一个ORM框架,她不止可以用在Android的sqlite数据库,也可以使用她操作其他常见的数据库。这儿是根据官方文档抽取来的android用法。

一,添加依赖

导入ormlite-core.jar和ormlite-android.jar:下载jar
或者build.gradle中添加:

    compile 'com.j256.ormlite:ormlite-android:5.0'
    compile 'com.j256.ormlite:ormlite-core:5.0'

二,创建Bean类

1>类使用@DatabaseTable注解,标识一个表。
2>成员变量使用 @DatabaseField 注解,表示表中的列。
3>相关属性设置可以查询其依赖包中的DatabaseTable和Column注解类。持久化的数据类型可以查阅ORMLite官方文档或库源码。
4>添加一个无参的构造函数。当执行查询返回结果时,ORMLite会使用Java反射构造函数创建对象。

@DatabaseTable(tableName = "accounts")
public class Account {
   
    //generatedId = true表示id主键自动生成
    @DatabaseField(generatedId = true)  
    private int id;
    //id = true表示这个列可以通过ID方法执行查询,更新,删除
    @DatabaseField(id = true)
    private String name;
    //canBeNull = false表示不可以为空
    @DatabaseField(canBeNull = false)
    private String password;

    public Account() {
        // ORMLite 需要一个无参构造器 
    }

    public Account(String name, String password) {
        this.name = name;
        this.password = password;
    }

    public int getId()  
    {  
        return id;  
    }  
    public void setId(int id)  
    {  
        this.id = id;  
    } 
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
}

三,创建数据库

1>继承OrmLiteSqliteOpenHelper 创建database helper;
2>在onCreate方法中调用TableUtils.createTable创建表,onUpgrade方法执行数据库更新。TableUtils类提供了一些创建和删除表的静态方法,参考源代码。

public class DatabaseHelper extends OrmLiteSqliteOpenHelper {
    
    private static final String TABLE_NAME = "sqlite.db";

    public DatabaseHelper(Context context) {
        super(context, TABLE_NAME, null, 2);
    }

    @Override
    public void onCreate(SQLiteDatabase database, ConnectionSource connectionSource) {

        try {
            TableUtils.createTable(connectionSource, Bean.class);
        } catch (java.sql.SQLException e) {
            e.printStackTrace();
        }

    }
    @Override
    public void onUpgrade(SQLiteDatabase database, ConnectionSource connectionSource, int oldVersion, int newVersion) {

    }
}

四,创建DAO

在数据访问对象(Data Access Objects (DAO))类中隔离数据库操作,提供创建,删除,更新,等等操作。每个表都对应一个DAO,每个DAO有两个参数:使用DAO持久化数据的实体类和用来标示指定表中行的ID列,如果类中没设置ID列,可以把对象或null作为第二个参数。例如,在上面Account类中,“name”成员是ID列(id = true),所以ID列是字符串。
创建DAO的最简单的方法是调用DaoManager.createDao(),这样如果它们被内部ORMLite功能需要ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值