在Android项目中实现DAO模式

5

我正在开发Android 3.1及以上版本。

我有以下的包:

enter image description here

es.viacognita.models 包含了通过web service获取到的数据存储类。当我获取所有web服务数据时,我需要将其插入到数据库中。

为了做对,我考虑使用DAO模式,但我不知道如何做。

如果我使用DAO模式,我是否需要使用 es.viacognita.models 类呢?我想这些类会成为DAO类,不是吗?

在哪里实现插入、更新或删除呢?在 DBManager 类中吗?

2个回答

5

您可以在DBManager类中实现插入、更新、删除和所有其他操作,或者创建一个单独的dao类,在数据库上执行您想要执行的所有操作...

    public class DAO {
private SQLiteDatabase database,customdb;
private DBManager dbHelper;



public DAO(Context context) {
    dbHelper = new DBManager(context);
}
public void open() throws SQLException {
    database = dbHelper.getWritableDatabase();

}
public void close() {
    dbHelper.close();
}
//insering,deleting and all other operations you want to perforem on the database
  }

谢谢您的回答。我还有一个问题:如何实现事务?谢谢。 - VansFannel
什么是事务?包括插入、删除和其他操作吗? - 5hssba
是的。我必须插入很多表格,如果其中一个失败了,我必须撤销所有之前的插入操作。 - VansFannel

2

我会使用DBManager的命名空间。我将你的模型类视为业务实体类,并为DAO(DAL)层创建一个单独的库。使用这种方法,您可以将业务逻辑与数据访问层分离。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接