当前位置: 首页 > 知识库问答 >
问题:

使用spring数据在mysql中选择多列

相洛华
2023-03-14

我有下表

我的表格

id|col1|col2|col3|col4|col5

我使用的是spring数据。我有以下存储库/DAO类

public interface MyTableDAO extends JpaRepository<MyTableEntity, Integer>
{
}

我想取一些列,比如在一个道号中我想取col1和col2,在另一个道号中我想取col1、col3、col5等等...

我想要Map中的返回数据

所以我会说类似于“从MyTable中选择col1,col2…(这里的列表可以是任意数量的列),其中id=1”,它会给我映射包含列名作为键和值。

如何在spring数据中实现这一点

谢谢:)


共有1个答案

丁高峯
2023-03-14

几个月前,我用java编写了一个类似的函数,用于进行一些数据后处理。

让我从档案中给出一个简化的版本。

protected void printResultSetAsString(ResultSet rs) throws SQLException {
    ResultSetMetaData metaData = rs.getMetaData();
    String firstLn = "";
    int columnCount = metaData.getColumnCount();
    boolean isFirstLn = true;
    String quote = "";
    if (ENCLOSEDQUOTES) {
        quote = LZConstants.ENCLOSEDCHAR;
    }
    logger.debug("Iterating result set and printing in the console ...");
    while (rs.next()) {
        Map<String, Object> columnsMap = new LinkedHashMap<String, Object>();
        for (int i = 1; i <= columnCount; i++) {
            if (isFirstLn && includeFields) {
                firstLn = firstLn + quote + metaData.getColumnLabel(i)
                        + quote + LZConstants.FIELDDELIM;
            }
            columnsMap.put(metaData.getColumnLabel(i), rs.getObject(i));
        }

        if (isFirstLn && includeFields) {
            System.out.println(firstLn);
            isFirstLn = false;
        }
        String lineCSV = LZCollectionUtils.iterateMapValuesToLine(columnsMap, quote);
        System.out.println(lineCSV);
    }
}
 类似资料:
  • 问题内容: 我在同一服务器上的2个不同数据库中有2个相同的表。将数据从表复制到另一个表的最佳方法是什么? 问题答案: 使用: 存在是经过简化的,但是如果有主键/ auto_increment可以担心/等,那么您就省去了。

  • 有人知道如何使用Spring数据JPA获得一个列吗?我在我的Spring Boot项目中创建了一个存储库,如下所示,但总是得到

  • 在MySQL 中就有很多系统自带的数据库,那么在操作数据库之前就必须要确定是哪一个数据库。 在 MySQL 中, USE 语句用来完成一个数据库到另一个数据库的跳转。 当用 CREATE DATABASE 语句创建数据库之后,该数据库不会自动成为当前数据库,需要用 USE 来指定当前数据库。其语法格式为: 该语句可以通知 MySQL 把 所指示的数据库作为当前数据库。该数据库保持为默认数据库,直到

  • 问题内容: 我需要编写一个选择查询,以从Spring数据存储库层的多个表中获取数据。我知道我们可以使用@Query编写自定义查询,但这仅从单个表中返回值吗? 问题答案: 您的Interface方法可以使用本机SQL从多个表中选择列,并且该方法将返回对象数组的列表: 列表中的每个项目都是对象数组,它是一行数据 您还可以创建自定义存储库实现: 如何向Spring Data JPA添加自定义方法

  • 问题内容: 我在不同的列中有数据,但是我不知道如何提取数据以将其保存在另一个变量中。 如何选择然后将其保存到df1中? 我试过了 似乎没有任何工作。 问题答案: 列名(字符串)无法按照你尝试的方式进行切片。 在这里,你有两个选择。如果从上下文中知道要切出哪些变量,则可以通过将列表传递给语法来仅返回那些列的视图。 或者,如果需要对它们进行数字索引而不是按其名称进行索引(例如,你的代码应在不知道前两列

  • 问题内容: 我有一个表,用于存储目录信息(例如在文件系统中)。每个目录(命名节点)都有一个和一个。我想尽可能有效地检索完整路径。为此,我试图使以下查询正常工作,但是这些查询仅返回预期的第一行(实际上是最里面的目录)。任何人都可以帮助获取完整的结果集,以便也选择给定目录/节点的所有层次结构父级。 我目前正在尝试的查询: 选择: 选择: 样本数据: 所需的输出: 谁能帮忙吗? 问题答案: 您已经错过了