繁体   English   中英

Java中的自定义查询检索结果集

[英]retreive resultset from a custom query in java

我的问题不是如何从结果集中检索数据,而是关于结果集,这与我们过去所知道的不一样

我会解释 :

我的数据库位于远程服务器上,通过ssh建立了连接,并且一切正常,但是问题是我正在使用结果集从我定义的“ queryString”变量获取结果,该变量从前端将查询作为字符串获取作为请求,然后,将使用我定义的方法执行此查询

而且由于我们事先不知道要从哪个表读取数据以及要检索多少列,所以我不知道如何使此方法适用于每个收到的查询

以下是我的代码段:

    @Override
public SqlQuery exeuteReceivedQuery(String queryString) throws SQLException {
    ConnectToDataBase();
    Statement st = (Statement) conn.createStatement();
    ResultSet rs = st.executeQuery(queryString);
    SqlQuery result = null;
    while(rs.next()) {
    result = new SqlQuery();
    result.getQueryResult();
    } 
    return  result;
}

// controller 
@GetMapping(value = "/{queryString}",produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<SqlQuery> getResults(@PathVariable("queryString") String queryString) throws SQLException {
    SqlQuery cmd = sqlService.exeuteReceivedQuery(queryString);
    return new ResponseEntity<>(cmd, HttpStatus.OK);
}

你们中有人对如何执行操作有想法吗? 提前致谢 :)

您可以访问ResultSet的元数据

rs.getMetaData().getColumnCount();

接着

rs.getMetaData().getColumnName(i);

您可以从元数据列,名称,数据类型等中获取提取结果所需的全部信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM