Android OrmLite 的基本用法

1.进入OrmLite官网下载四个jar包(http://ormlite.com/releases/)

a.core包  ormlite-core-4.48.jar,ormlite-core-4.48-sources.jar

b.android包 ormlite-android-4.48-sources.jar ormlite-android-4.48.jar

2.OrmLite的基本用法

DatabaseHelper 类
public class DatabaseHelper extends OrmLiteSqliteOpenHelper {
    private static final String dataName="express-seacher.db";
    private static DatabaseHelper instance;
    private Map<String,Dao> daos=new HashMap<>(); // 保存所有的dao  每张表对于一个dao
    private DatabaseHelper(Context context) {
        super(context, dataName, null, 1);
    }

    public static synchronized DatabaseHelper getDataHelper(Context context)
    {
        context = context.getApplicationContext();
        if (instance == null)
        {
            synchronized (DatabaseHelper.class)
            {
                if (instance == null)
                    instance = new DatabaseHelper(context);
            }
        }

        return instance;
    }

    // 更加反射得到 dao
    public synchronized Dao getDao(Class clazz)throws SQLException {
      Dao dao=null;
       String name= clazz.getSimpleName();
        if (daos.containsKey(name)){
            dao=daos.get(name);
        }
        if(dao==null){
            dao=super.getDao(clazz);
            daos.put(name,dao);
        }
     return  dao;
    }

    @Override
    public void onCreate(SQLiteDatabase database, ConnectionSource connectionSource) {
        try {
            TableUtils.createTableIfNotExists(connectionSource, SeachNow.class);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    @Override
    public void onUpgrade(SQLiteDatabase database, ConnectionSource connectionSource, int oldVersion, int newVersion) {
        try {
            TableUtils.dropTable(connectionSource, SeachNow.class, true);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    @Override
    public void close() {
        super.close();
        for (String key : daos.keySet())
        {
            Dao dao = daos.get(key);
            dao = null;
        }
    }
}
SeacherNowDao(业务逻辑)
private  Context context;
private Dao<SeachNow,Integer> seachDao;
private  DatabaseHelper helper;
public  SeacherNowDao(Context context){
    try {
        helper=DatabaseHelper.getDataHelper(context);
        seachDao =helper.getDao(SeachNow.class);
    } catch (SQLException e) {
        e.printStackTrace();
    }
}
// 获取所有的记录
public  List<SeachNow> getSeachNows(){
    List<SeachNow> list=null;
    try {
        list =seachDao.queryForAll();
    } catch (SQLException e) {
        e.printStackTrace();
    }
    return  list;
}
SeachNow 
@DatabaseTable(tableName = "tb_seachnow")
public class SeachNow implements Serializable {
    @DatabaseField(generatedId = true)
    private int seacheNowId;
    @DatabaseField(columnName = "number")
    private String expressNumber;
    @DatabaseField(columnName = "companyname")
    private String companyName;

    public String getExpressNumber() {
        return expressNumber;
    }

    public void setExpressNumber(String expressNumber) {
        this.expressNumber = expressNumber;
    }

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    public int getSeacheNowId() {
        return seacheNowId;
    }

    public void setSeacheNowId(int seacheNowId) {
        this.seacheNowId = seacheNowId;
    }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值