关于ormlite-android-5.1.jar 和 ormlite-core-5.1.jar 的使用

楚岳
2023-12-01

前言

在Android 中 ,可以使用 OrmLiteSqliteOpenHelper 作为数据库的辅助类, 可以说他就是已经封装好的SQLite数据库

第一步,我们先下载ormlite-android-5.1.jar 和 ormlite-core-5.1.jar 然后将其导入到Studio 中

第二步,创建一个实体类


@DatabaseTable(tableName = "Luck")
public class Om_Em {
//自增长ID
    @DatabaseField(generatedId = true)
    int id;
    @DatabaseField
    String name;
    @DatabaseField
    int count;
    @DatabaseField
    int scort;
    @DatabaseField
    int money;

    public Om_Em(String name, int count, int scort, int money) {
        this.name = name;
        this.count = count;
        this.scort = scort;
        this.money = money;
    }

    public Om_Em() {
    }

    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 int getCount() {
        return count;
    }

    public void setCount(int count) {
        this.count = count;
    }

    public int getScort() {
        return scort;
    }

    public void setScort(int scort) {
        this.scort = scort;
    }

    public int getMoney() {
        return money;
    }

    public void setMoney(int money) {
        this.money = money;
    }
}

这里对@DatabaseTable(tableName = “Luck”) 和 @DatabaseField(generatedId = true)进行说明

  1. DatabaseTable(tableName = “Luck”) 这个注解是必须的

  2. .后面跟上自己定义的表名, 在每个参数面前都要加上@DatabaseField

    第三步,自定义一个类DataBasehelper 继承 OrmLiteSqliteOpenHelper 类, 然后我们需要重写 其中的 onCreate 方法和 onUpgrade 方法

public class DataBasehelper extends OrmLiteSqliteOpenHelper {
 	//这里只做演示,所以就直接先写死了
    public DataBasehelper(Context context) {
        super(context, "fwsssssss", null, 8);
    }

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

    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, ConnectionSource connectionSource, int i, int i1) {
       
    }

}

在onCreate方法中我们可以借助包中提供的TableUtils.createTable()方法,直接进行表的创建

 @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase, ConnectionSource connectionSource) {
        try {
            TableUtils.createTable(connectionSource , Om_Em.class);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

在onUpgrade方法中,利用TableUtils.dropTable()方法,对表进行删除操作,在删除之后,再次调用onCreate()方法

 @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, ConnectionSource connectionSource, int i, int i1) {
        try {
            TableUtils.dropTable(connectionSource , Om_Em.class , true);
                onCreate(sqLiteDatabase , connectionSource);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

定义一个静态的DataBasehelper ;

 private static DataBasehelper db;

定义一个 synchronized 的getInstance()方法,对DataBasehelper进行判断,决定是否需要创建一个对象

public static synchronized DataBasehelper getInstance(Context context){
        if(db == null){
            db = new DataBasehelper(context);
        }
        return db;
    }

第四步,创建一个Dao类 Om_Daos,获取DataBasehelper方法,其次,创建一个获取Dao()的方法


public class Om_Daos {
    Context context;
    public Om_Daos(Context context) {
        this.context = context;
    }
    public DataBasehelper getHelper(){
        return DataBasehelper.getInstance(context);
    }
    public Dao<Om_Em , Integer> getDao() throws SQLException {
            return getHelper().getDao(Om_Em.class);
    }
    public Dao.CreateOrUpdateStatus Update(Om_Em om_em) throws SQLException {
        return  getDao().createOrUpdate(om_em);
    }

}

好啦,这里就是搭建环境的整个过程啦!稍后会更新相关的增删改查操作!

 类似资料: