java - sql查询中的这个占位符是什么?

标签 java sql

这是我一直在阅读的方法,不是我自己提出的。 我不明白这个查询中的 o 也不明白它使用的 sql 语言。有人能向我解释一下它是如何工作的以及它的选择是什么吗?

queryMain.append("SELECT o FROM ctrData o ");

 public Specification byCtr(String ctr) {

            StringBuilder queryMain = new StringBuilder();
            queryMain.append("SELECT o FROM ctrData o ");

            StringBuilder clause = new StringBuilder();
            clause.append("WHERE o.ctr = :ctr");

            Map<String, Object> param = new HashMap<>();
            param.put("ctr", ctr);

            super.init(queryMain.toString(), clause.toString(), param);

            return this;
        }

最佳答案

您有以下查询:

SELECT o
FROM ctrData o;

在所有数据库中,这将从表 ctrData 中选择名为 o 的列。这相当于o.o

在大多数数据库中,如果没有这样的列,您将收到错误消息。一些数据库(例如 Postgres)支持记录/结构。在这些中,查询将返回与每行关联的记录。

关于java - sql查询中的这个占位符是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57976963/

相关文章:

java - 如何将 boolean 数组转换为字节数组

mysql - 根据 MySQL 中的条件更新不同的字段

java - Android如何处理 "called from wrong thread"异常

java - 我会在这里同步什么?

java - 使用 Jackson 对具有整数键的 map 进行反序列化

java - 绑定(bind)状态的套接字太多

mysql - 连接两个内联表 - 未知列?

sql - 如何识别触发了哪个触发器(更新或删除)

mysql - SQL 外键和主键

mysql - 在 mySQL 中选择两个表中最接近的时间戳?