问题标签 [database-abstraction]
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.
java - Scala 的数据库抽象层
您好,我正在寻找一个数据库抽象层,它抽象了我的 SQL 语句/查询,因此我可以支持多种 SQL 方言,而不必担心正确的语法。
我想知道是否有人有使用QueryDSL或SQL Builder的经验,这是我正在寻找的吗?如果它以我想要的方式抽象 SQL 语句/查询,我找不到任何信息。
php - Doctrine 的数据库抽象层比简单的 PDO 提供了什么?
如果我在简单的 PDO 上使用Doctrine 的数据库抽象层(DBAL),我将获得什么?
PDO 本身不应该是一个抽象层吗?据我所知,我获得的唯一好处是能够将 Oracle 的 oci8 驱动程序与类似 PDO 的 API 一起使用。
我错过了什么?
python - How can I optimize DAL web2py query?
locations
is list of location ids
employee_ids
is list of employee ids
types = ['General', 'office', 'e-commerce']
This query return 60,000 records and takes 1 minute to complete. How can I optimize it or split it?
python - Web2py 数据库:如何从选定的行中选择行的子集?以及如何将其传递给 JavaScript?
我有一个表,并希望 web2py 操作将其所有内容传递给视图。然后视图从中选择一个子集,并在迭代中一次显示一个。
这是 db.py 中的示例表:
控制器 default.py 中的示例操作:
到目前为止,一切都很好。它可以编译,不会崩溃,并且在运行了一些测试后它做了我想要的。
但现在来看。在这个例子中,我想选择所有的“propertyA”,比如说,5。然后我想运行一个循环,将它们打印到一个已经存在的表中。该表有 100 个单元格,ID 为 1-100。我想将 propertyB 的值打印到表单元格中,其 id 与块的位置匹配。
示例视图 default/demo.html:
所以我不知道应该怎么做。而 web2py 教程书对这方面的信息非常吝啬。还是我对此有完全错误的方法?因为我认为它也可以通过 ajax 调用来完成,但我不觉得连续 100 次查询数据库服务器是正确的做法。
php - PHP PDO - 动态 SQL 准备语句不像硬编码那样工作
我编写了一个 mini-DBAL,这是其中的一部分。
我这样称呼我的函数:
我发现我的代码正确地填充了 SQL 和参数,但是当我传递多个 WHERE 条件时它不会返回任何行。如果我手动对动态准备的语句进行硬编码,那么它就可以工作。我不知道为什么。
以下是 echo 和 print_r 的一些输出:
SQL 传递到 prepare():
参数的数组输出:
for 循环中的序列以绑定参数:
要重新迭代,如果我将准备好的语句手动复制粘贴到 '$stmt = $this->pdo->prepare("")' 然后使用输出值绑定 :0 和 :1 ,它将返回唯一的行在那张桌子上。
如果我只通过一个(两个条件之一)或没有条件,那么它返回该行,但如果我通过两个条件则不返回,尽管它填充了正确的条件。
没关系,但我使用的是 MS SQL Server 2014。
go - 使用带有 golang 和数据库抽象的接口
我试图弄清楚如何在 Go 中构建数据存储抽象。我想我了解接口的基础知识。但是,我遇到的问题是网上所有的例子都只给你展示了最简单的例子,没有其他的。
我想要做的是弄清楚如何以及在哪里放置 SQL 代码。我试图编写最简单的代码来说明我正在尝试做的事情(是的,没有错误代码,是的,路径结构不是惯用的)。我有一个包含两个表的数据库。一个用于存储 Circles,一个用于存储 Squares。我在 Go 中有对象来制作这些。我的目录结构是:
我能想到的唯一方法是将 SQL INSERT 和 SELECT 代码放在实际的形状文件(circle.go 和 square.go)中。但这感觉真的不对。它似乎应该是 datastore/sqlite3 包的一部分。我只是不知道如何使这项工作。这是我到目前为止所拥有的:
main.go
形状/形状.go
形状/圆/circle.go
形状/正方形/square.go
数据存储/datastore.go
数据存储/sqlite3/sqlite3.go
由于 Circle 和 Square 对象的数据库表会有所不同,因此我需要为每个对象设置一个方法。如果我在 circle 包和 square 包中添加一个方法来进行插入,我可以让它工作。但就像我上面说的,感觉就像我做错了。
提前非常感谢。
mysql - 如何在 MySQL 中查询具有对象数组属性的对象?
我以前曾以不同的方式看到过这个问题,但我希望得到一个直接的答案。
如果我有两个类,Parent 和 Child,存储在两个不同的 MySQL 表中,查询完整 Parent 对象的最佳方法是什么,以及所有 Child 的列表?
例如
如何按姓名获取匹配父母的列表,以及每个孩子的列表?
我是否必须编写一个查询来获取所有匹配的父级,然后为每个父级编写一个附加查询以获取所有子级元素?
这显然是伪 SQL,但我希望是这样的:
php - 从 PHP 中的表抽象中检索关联元素的最佳方法?
我面临着一个发展的选择。
我正在用 PHP 开发一个图书系统。一本书有一个标题和一个所有者。
在我的数据库中,我有一个带有键的表tblUser:user_id和user_name以及一个带有键book_id、book_title和user_id的表tblBook(这是一个外键)。
我有两个表抽象:UserModel 和 BookModel。
模型/user.php
模型/book.php
实际上,从 ViewBook 的角度来看,我想列出我的书和它们的所有者。
我的问题是检索所有者名称的最佳开发选择是什么。在我的示例中,我使用了方法getOwnername1()。我还创建了一个方法getOwnername2(),它从另一个模型中调用一个方法。这样做是否干净(在 MVC 开发中)?所以如果它是干净的,也许最好使用getOwnername2()?我还考虑在BookModel::getBook($book_id)中使用 SQL 连接查询,并将$user_name作为属性添加到BookModel类。也许这更可取?我正在尝试做出最好的选择,以拥有干净的代码并尊重 MVC 开发中的编码标准。
php - SQL 查询状态
我来自另一位开发人员编写的一些代码。这是一个 php 数据库抽象层,我正在尝试研究代码,但我无法理解其中的一些。
所以请谁能告诉我他在做什么以及 STATE_CLEAN 和 STATE_DIRTY consts 的目的是什么,谢谢。
mysql - Yii2/PHP:为 InfluxDB 和 MySQL 抽象数据库访问
在我的 Yii2/PHP 项目中,我需要集成两个数据库:
- MySQL 用于元数据、Web-UI、...
- 用于测量数据的 InfluxDB(大量时间序列数据)
为了降低复杂性,我想只从 MySQL 开始,稍后再添加 InfluxDB。
我的想法是为两个数据库(仅用于测量数据)创建一个抽象/超类,允许使用 MySQL 进行实现和执行测试,并在项目的后期启用 InfluxDB 加速。
抽象应该具有以下方法:
- 数据库连接管理
- 写入数据
- 读取数据(原始数据、聚合)
由于我还不是 InfluxDB 专家:这种架构是否有意义,或者数据模型和方案是否根本不同,所以抽象将毫无价值?有项目可以借鉴吗?