问题标签 [data-access-object]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
596 浏览

design-patterns - DAO 和 DP 模式有什么区别?

数据访问对象 (DAO) 和数据提供者 (DP) 模式有什么区别?

我已经阅读过它们,在我看来它们是相同的,只是 .NET 使用数据提供者术语。

0 投票
1 回答
378 浏览

java - 在 Cron Job 中使用 DAO 类进行数据调用

嗨,这是我的 Cron 调度程序

}

这是 Cron 作业本身

我想要做的是让 DAO 类每隔几个小时调用一些数据并通过它调用一个函数。但是当我通过DAO调用数据时,它总是返回空。

我发现我必须以某种方式映射 DAO,我在基于 xml 的 cron 作业中看到过,但我无法在这个作业中映射它。

0 投票
0 回答
118 浏览

asp.net-mvc - 如何在.Net中的请求期间缓存一些对象

我们正在开发一个使用 ASP.net MVC 技术并基于分层架构的项目;此外,我们使用 ADO.Net 通过 SQL 存储过程获取数据并在“DataAccess”层生成对象模型(我知道这是获取数据的旧技术,但我们无法迁移到 EF 或其他 ORM)。

我们的架构图

我们决定缓存一些继承“Icacheable”接口的可缓存对象模型,但我们不想永远缓存对象(直到应用程序工作);事实上,我们只需要在请求期间缓存它们,然后处理缓存的对象。

这里有两个问题?

1)哪一层更适合做这个缓存?存储库或数据访问(或者可能是其他层!)?

2)我们怎么能做到这一点?

0 投票
0 回答
63 浏览

oracle - 安装了新的 oracle 客户端的 Visual Studio 2010 问题

在我的开发计算机上,我卸载了 oracle 客户端 11.2.0.1 并安装了 11.2.0.4。我这样做时没有考虑到我的 Visual Studio 使用旧版本引用了 Oracle.DataAccess 对象。当我运行我的一个项目时,我收到了:

无法加载文件或程序集“Oracle.DataAccess”或其依赖项之一。试图加载格式不正确的程序。

它也给了我一个版本错误,但我无法重现它。

我发现了很多关于如何纠正这个问题的帖子,但到目前为止我仍然无法让它工作。我想知道的是卸载和重新安装不同的 oracle 版本是如何导致我的问题的?我以为我将其设置为不是特定于版本的。Visual Studio 不存储它引用的 dll 吗?

卸载我的 oracle 客户端并清除 GAC 中对 oracle 的引用然后重新安装在 GAC 中注册新版本,然后我的 Visual Studio 应用程序应该可以工作吗?

谢谢

0 投票
0 回答
140 浏览

java - 当所有连接都关闭时,数据库文件“正在被另一个进程使用”

我正在开发一个系统,它使用数据库访问对象 (DAO) 在程序和数据库之间进行链接。所有连接都必须通过这个类,使用getConnection(). 但是,我有一个重置选项,它使用应用程序本身内部的一个覆盖用户文件系统中的数据库文件(即部署时在其 jar 中)。此reset()功能会导致异常,指出数据库已在使用中。

通过研究,这意味着连接没有正确关闭。但是,如果您能发现问题所在,我将向您展示这个 DAO 类的整个代码。

构造函数只是将数据库从应用程序复制到用户的文件系统中(如果还没有的话)。

getConnection()方法连接到数据库。

单独调用reset()会产生该错误,因此通过将连接添加到静态集合中,我们可以关闭每个连接,使用closeConnections().

注意:无论如何,这些连接应该已经关闭,因为我们总是尝试使用资源。例如:

虽然我们有两个级别来关闭连接

  1. 尝试资源
  2. closeConnections()方法

他们仍然无效。当调用 closeConnections() 时,我们仍然得到输出

即使在 try-with-resources 块中使用了连接。即使使用 closeConnections(),我们仍然会遇到相同的错误:

0 投票
1 回答
221 浏览

android - 在 dao 类中实现网络调用

Dao 是提供对数据库或其他类型存储的访问的对象或接口。因此,如果我们在 dao 接口中编写网络调用,是否仍然可以,或者我们是否应该编写另一个网络调用文件来实现对服务器执行操作(如 fetch、post 或 delete)的方法。作为代码,它可以完美运行。但是我们真的应该这样做吗,dao接口中的网络调用方法?

0 投票
0 回答
93 浏览

python - 在python中插入模块

我的 ETL 项目中很少有表被非常频繁地加载。我想创建一个公共模块,所有主要模块都可以调用这个公共模块,传递列值并插入数据。在 C# 中,为了实现这一点,我们为类的每个列和表定义了属性。在 Python 中实现这一点的最佳方法是什么?你们可以分享任何好的链接吗?

0 投票
3 回答
1172 浏览

android - DAO 错误:- 参数的类型必须是使用 @Entity 注释的类或其集合/数组

我是 android 开发的新手,我正在尝试通过遵循 android 架构组件来制作一个笔记应用程序,但是在运行时我的 DAO 中出现错误,如果有人可以提供帮助,我将不胜感激。这是我得到的代码和错误。

我得到的错误

道:-

'''

'''

实体:-

'''

''' 数据库:-

'''

DAO 的导入:-

实体进口:-

数据库导入:-

如果需要,我可以提供其余代码。

0 投票
1 回答
216 浏览

dart - 应用 ToMany 的更改与 dart 中的 objectbox 存储的关系

在项目中,我使用带有objectbox的最新 Dart 版本:^1.0.0:

创建节点和边之后。节点被分配到边缘对象中的节点列表(在 nodeObject 中反向),然后在 DAO 层中,它们(重新)应用于对象框的relList(ToMany)。

实际看跌:

main_test.dart:

edgeDao.dart

节点道.dart

数据库连接器.dart:

添加操作正常工作,就像更新一样,在我尝试保存边缘关系的更改之前,在从 ToMany 中删除旧节点并添加新节点之后(这会导致每次进一步的 put 操作都崩溃)。我从 objectbox (x3) 收到以下错误:

put() 和applyToDB()都不起作用。我什至尝试使用clear()然后将列表对象中的所有内容添加到 ToMany 中有什么建议为什么会发生这种情况?

0 投票
1 回答
533 浏览

python - Python Flask SQLAlchemy 中的数据访问对象(DAO)

Python (Flask) SQL Alchemy 是同时使用 DAO 和 ORM 设计,还是仅仅使用 ORM?我正在学习设计策略,我想到了 SQLAlchemy。它是否也被视为 DAO(显然是 ORM)?

默认情况下,它看起来不像 DAO。

如果我为现有模型类定义了一个类,例如,假设我有以下类:

我定义了另一个类,UserDao

我实例化这个 UserDao 类的对象并调用各自的方法通过各自的方法进行一些数据库操作,这是否使它成为“DAO 模式”?