问题标签 [data-access-layer]

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 投票
3 回答
3024 浏览

java - JAVA Swing客户端,远程数据库数据访问;伊巴蒂斯

我有一个需要访问远程数据库的 Java 客户端。目标是向用户隐藏数据库凭据,而不是在代码中硬编码任何凭据。因此,数据库访问可能必须在服务器端。

我仅限于使用 Ibatis 作为数据抽象框架。除此之外,我还在网络服务器上运行 JBoss,允许我使用数据源。

您将如何设计远程数据库访问和数据序列化/反序列化。您是否更喜欢某种数据流的 Web 服务而不是套接字?你将如何实现两者中的任何一个?

0 投票
2 回答
1375 浏览

linq-to-sql - 截断表的正确 LINQtoSQL 方式是什么?

我有一个带有强大数据访问层的项目,它使用 LinqtoSQL 来处理任何涉及我们数据库的事情。我需要构建一个帮助类,将一些常见的 crud 操作从 CLSA 对象连接到 LinqToSql 对象。一切都在顺利运行,直到我需要在桌子上进行截断,而我所拥有的只是“删除”方法。

哦哦。快速搜索显示有些人正在使用 YourContext.ExecuteCommand(),这很好,但这些天我正在尝试尽可能多地使用“t-sql-less”。

是否有一种 LINQ 方法可以对表执行截断?还是我只是一无所知

0 投票
5 回答
4337 浏览

.net - 在业务层和数据访问层之间传递数据 - 错误代码?

我在 JCProperty 类中使​​用以下代码从 DAL 检索数据:

这工作正常,但需要 DAL 对象 (JCPropertyDB) 知道业务对象 (JCProperty),并且我有效地创建和填充相同的对象两次(一次在 DAL 中返回到 BL,然后再次在 BL 对象中填充本身)。

我在这里遗漏了一些东西,我知道一定有更好的方法!

实际上,我需要分配不允许的“Me = x”。有人可以让我直截了当吗?

0 投票
5 回答
693 浏览

data-access-layer - 为引用另一个对象的对象创建数据访问层的最佳实践是什么?

(对不起我的英语)例如,在我的 DAL 中,我有一个 AuthorDB 对象,它有一个 Name 和一个 BookDB 对象,它有一个 Title 和一个 IdAuthor。

现在,如果我想显示所有书籍及其相应作者的姓名,我必须获取所有书籍的集合,并使用 IdAuthor 属性为每本书找到作者姓名。这会对数据库进行大量查询,显然可以使用简单的 JOIN。

我有哪些选择?创建一个包含作者姓名和书名的“自定义”对象?如果是这样,维护可能会变得很糟糕。

那么,有哪些选择呢?谢谢!

0 投票
2 回答
2036 浏览

c++ - 如何使用数据访问对象进行序列化和关系数据库数据访问

我正在开发一个 C++ 域模型类库,它应该提供一些设施或框架(即接口类等),用于向二进制文件和 RDBMS 写入/读取类实例数据。这个库的基础是一个使用 RDBMS 的应用程序,并且有几个方法通过执行一系列数据库检索和更新调用来获取成员数据的集合来实例化一个类。序列化数据访问具有不同的数据组织方式,因此我希望域模型完全不知道主键/外键、ID 等。

为了解决这个问题,我考虑使用数据访问对象(DAO) 模式,并希望对 DAO 对象的“粒度”、生命周期和使用提供一些建议(在您的回复中,请注意我将使用 C++ ,而不是 Java,并且域类不能保存来自 RDBMS 或二进制文件存储的任何 ID/密钥信息):

  1. 域对象的每个 Foo 实例是否都有自己的 FooDAO 实例,或者 Foo 类的所有实例是否都有一个 FooDAO 实例?
  2. FooDAO 是为每个 Foo 实例创建一次,还是仅在需要访问数据时才创建 FooDAO 实例,然后立即销毁?
  3. DAO 上的J2EE页面除了 DAO 之外还引入了 DTO。为什么 DAO 不能传输数据?
  4. 对于具有其他域类 Bar 的实例的复杂域类 Foo,FooDAO 类似乎不可避免地使用 BarDAO 类来检索数据。这将导致域类结构和 DAO 类结构中的并行层次结构/依赖关系。如何最好地管理它?

谢谢你的帮助!

0 投票
2 回答
13797 浏览

php - MVC中数据访问层和模型的区别

我已经在几个 Web 应用程序中实现了我认为是 MVC 的一个相当不错的表示,但是自从加入了crackoverflow,我发现我最初的定义可能有点简单,因此我真的很想澄清一下两者之间的差异数据访问层和 Web 应用程序的模型或领域层。

对于上下文,我目前使用的数据访问对象为该对象表示的表中的单个记录实现 CRUD 函数,以及返回一个对象的 get() 函数,该对象允许我遍历所有满足get() 函数的标准。

这些数据访问对象直接从包含我的业务逻辑的控制器脚本中引用。

如果重要的话,我正在使用 PHP 和 MySQL,但对可能用其他语言编码的建议感兴趣。

更新:举一个更具体的例子,我有一个名为 user 的表(这里的约定是单数表名),其中包含电子邮件地址、活动状态、用户名、密码、他们所属的公司等信息。这个基本对象将在代码中看起来像这样:

听起来我可能已经将 DAO 层和模型层混为一谈了,它结合了任何现实世界类型的功能(例如用户登录)和数据访问功能。

0 投票
4 回答
231 浏览

.net - What factors should effect the Data Access Layer I use on a new project?

I will be teaching a class sson, and I need to explain what factors should affect your decision of data access technology. I am familiar with many data access methods like Typed Data Sets, Linq to SQL, Linq to Entities, .netTiers, LLBLGen, and custom calls with SQL connection objects and command objects. Some of my clients will only allow stored procedures to be used, and they will NOT discuss anything else. Some of my clients are NOT ready to install .NET 3.5 yet. Some clients require a middle web service tier in any web application. Most of the time I use Types Data Sets and Custom Web Services, or I use .netTiers with CodeSmith. What else should I be thinking about?

0 投票
3 回答
933 浏览

architecture - 数据访问层:公开列表<>:坏主意?

我目前正在编写一个简单的数据访问层,我想知道应该向其他层公开哪种类型。

我将在内部将数据实现为 List<>,但我记得读过一些关于在不需要时不将 List 类型公开给消费者的内容。

你知道为什么(谷歌没有帮助)?你通常会为那种东西暴露什么?列表?可数?

0 投票
4 回答
219 浏览

sql - 数据库抽象 - 支持多种语法

在我正在处理的一个 PHP 项目中,我们需要创建一些 DAL 扩展来支持多个数据库平台。我们遇到的主要缺陷是不同的平台有不同的语法——值得注意的是 MySQL 和 MSSQL 完全不同。

什么是最好的解决方案?

以下是我们讨论过的一对:

基于类的 SQL 构建

这将涉及创建一个允许您逐位构建 SQL 查询的类。例如:

但是,对于单个查询,它确实涉及很多行。

SQL 语法重新格式化

这个选项更简洁——它会读取 SQL 代码并根据输入和输出语言重新格式化它。然而,就解析而言,我可以看到这是一个慢得多的解决方案。

0 投票
2 回答
1437 浏览

asp.net - 在 CMS 中快速/轻松地生成 CRUD 页面和数据访问层

我有一个我想要从中生成类文件的数据库,以及一个生成的 .aspx 页面,其中包含一个列表视图,用于与类文件交互以进行创建/读取/更新/删除。我已经开始使用 Subsonic,但不确定脚手架控制有多灵活。此外,LINQ 似乎是一种选择,但如果生成它会很好。

理想情况下,我会有一个 DAL,它是一组数据库类,因此我可以微调我想要的任何东西,并且它还会为带有 listview/datagrid 的 Web 界面输出一个 Web 表单,我可以将其合并到后端但会生成输出,所以如果我愿意,我可以自己微调它。

提前致谢。我问的原因是因为我正在独立从事一个项目,而数据访问操作始终是其中最耗时的部分。