问题标签 [dao]

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 投票
4 回答
2045 浏览

java - Java EE - DAO DVO

我见过两种实现 DAO-DVO 设计的方法。

1) DVO 是对象,DAO 是使用工厂实例化的,即 DAO 也是对象 2) DVO 也是对象,但在这种情况下,DAO 是仅包含接受 DVO 执行任务的静态方法的类。

我想知道哪种方式更好,更具可扩展性。

0 投票
4 回答
3287 浏览

sql-server - VB6/Microsoft Access/DAO 到 VB.NET/SQL Server... 有建议吗?

我可以在 VB6/Access 中创建一个 DAO 记录集做任何事情——添加数据、清理数据、移动数据、早上整理数据并将其带到学校。但我什至不知道在 .NET 中从哪里开始。

我从数据库中检索数据没有任何问题,但是当他们需要编辑数据并将其放回时,真实的人会做什么?

在 .NET 和 SQL Server 的相关表中编辑、更新和追加数据的最简单和最直接的方法是什么?

0 投票
1 回答
499 浏览

ado - 使用 ADO 删除连接表中的行

现在我在另一个论坛上看到了这个问题,但没有一个可以接受的答案。

假设我有两个表,Groups 表和 Elements 表。这些表没有定义的关系。Elements 表有一个 IdGroup 字段,该字段引用 Groups 表的 IdGroup (PK) 字段。

我通过 ADO 记录集使用以下查询将表值填充到数据网格:

从那个网格中,我想按 Delete 键来删除一个元素。这是我的问题。当我使用 DAO 时,DAO Delete() 函数只删除了 Elements 组中的记录。这是预期的行为。

当我更改为 ADO 时,Delete() 函数删除了两个表中的记录,元素记录和元素所属的组!

有没有办法在 ADO 中重现 DAO 行为而不必在表中定义关系?

注意:我知道有其他选择(执行 DELETE 查询可以完成这项工作)。只是告诉我一种在 ADO 中执行此操作的方法,或者说它无法完成。

0 投票
3 回答
2502 浏览

prototype - DAO 通常应该具有哪个范围

道不会拥有任何状态,这是毫无疑问的。

但是,为了最容易地访问该类,使用原型(=每次都新建)还是单例更好?

简单的对象创建对于 dao 来说很便宜。它通常只拥有一个 sessionfactory,从单例列表中访问对象可能同样昂贵。

澄清:这个问题的重点是,如果对 daos 的范围界定有一个共同的约定。

0 投票
4 回答
424 浏览

database - 重构为 n 层

我是一个使用 DAO 的自学 vb6 程序员。下面是我可以编写的一段典型代码的示例:

请假装上面是一个 CRUD 应用程序的完整源代码。我知道这种设计很糟糕,一切都混在一起了。理想情况下,它应该具有三个不同的层,用户界面、业务逻辑和数据访问。我有点明白为什么这是可取的,但我不知道它是如何完成的,我怀疑这就是为什么我不完全明白为什么这样的分离是好的。如果有人可以将上述可笑的微不足道的示例重构为 3 层,我想我会走得更远。

0 投票
1 回答
584 浏览

nhibernate - 在数据层访问多个数据提供者

我正在开发一个使用 DDD 理念开发的业务应用程序。数据库通过 NHibernate 访问,数据层使用 DAO 模式实现。

UML 类图如下所示。

UML 类图 http://img266.imageshack.us/my.php?image=classdiagramhk0.png http://img266.imageshack.us/my.php?image=classdiagramhk0.png

不知道设计好不好。你怎么看?

但问题不在于设计好不好。问题是在启动应用程序后,IDaoFactory在表示层中实例化并作为参数发送到演示者类(使用 MVC 模式设计),如下所示

只使用一个数据提供者(这只是一个数据库)很简单。但是现在我们也应该从 XML 中获取数据。在开发的下一阶段,我们应该连接到不同的 Web 服务并操作传入和传出的数据。

来自 XML 的数据将使用一个枚举键来获取。XMLLoader我们向数据层添加一个名为的类ILoader,并向域添加一个接口。XMLLoader有一个方法,其签名是

如果我们在表示层中使用 XMLLoader 实例化 ILoader,如下所示,我们必须将其发送到将从数据层获取一些 XML 数据的对象。

实现 Web 服务访问类之后

参数将及时增长。我认为我可以在一个类中保存所有数据访问对象的实例并将其传递给所需的演示者(也许单例模式也可以提供帮助)。在领域层必须有一个这样的类,

在主类中,可以使用此设计进行实例化,如下所示

你觉得这个设计怎么样,或者你能给我推荐一个不同的设计吗?

感谢所有回复...

0 投票
1 回答
2520 浏览

java - 高级Java泛型问题:为什么我们需要指定冗余信息

我的 JPA 模型 POJO 有一些通用类,如下所示:

此代码不会编译。为此,我需要指定

但那是多余的信息!T 扩展 Identifiable 的事实意味着将为 Identifiable 实例指定一个 PK 类型,并且这是用于 DAO 的 PK 的类型。

我怎样才能在没有多余信息的情况下完成这项工作?

谢谢,弗雷德


编辑:简化示例

0 投票
3 回答
399 浏览

.net - .NET 2.0 中的最佳数据访问方法

在使用 .NET 3.5 进行开发时,我自然会使用 LINQ 进行数据访问。

但是对于 .NET 2.0 项目,最好使用哪种数据访问模型?我倾向于主要使用TableAdapters,但有时也会根据情况编写自己的SQL。

0 投票
2 回答
2866 浏览

c# - 简单映射器模式 C# 代码生成模板

任何人都可以推荐一个体面的 C# Mapper Pattern代码生成模板,它可以很好地与 SQL 存储过程配合使用吗?我正在寻找生成POCO样式实体对象的东西,它带有一个静态映射器类,用于通过实体对象将数据传输到数据库/从数据库传输数据。

我了解 NHibernate 可以生成 POCO 样式的实体对象;但是,当您对 SQL 存储过程有很强的依赖(这是本项目的要求)时,NHibernate 就失去了吸引力。

如果您还可以推荐一个还生成 CRUD 存储过程的模板,则可获得奖励积分!;-)

编辑:对于这个特定的项目,我绝对对生成 Active Record 模式代码的任何模板不感兴趣(例如,Subsonic、Linq to SQL、Entity Framework 等)。

0 投票
2 回答
76329 浏览

java - Hibernate 中的枚举

在 DAO 中拥有一个值来自 Java 枚举的字段通常很有用。一个典型的例子是登录 DAO,您通常有一个字段将用户描述为“NORMAL”或“ADMIN”。在 Hibernate 中,我将使用以下 2 个对象以(半)类型安全的方式表示这种关系:

这可行,但我发现 UserType 类很丑陋,并且需要太多官僚主义来存储几个值。理想情况下,Hibernate 应该直接支持枚举字段,并会创建一个额外的表来存储枚举值。

我的问题是:有没有办法直接映射 Hibernate 中的枚举类?如果不是,我表示枚举的模式是否足够好,或者我错过了什么?人们还使用哪些其他模式?