用于解析Java的mysql输出的代码片段

时间:2010-10-21 12:00:58

标签: java mysql

我会写它,但如果有一个准备好的,经过测试的代码片段,我会很乐意偷它。

COUNT(*)    SUM(cnt)
0   1

编辑 - 感谢投票结束,我总是可以依靠Stack Overflow中的优秀灵魂来快速获得投票结果。我会在这个问题上添加一些细节。

我正在寻找一个可以解析运行“mysql”可执行文件输出的java代码片段。上面的代码片段是我要解析的输出示例。

3 个答案:

答案 0 :(得分:2)

使用java.util.Scanner解析这一点非常简单。

答案 1 :(得分:1)

是的,它被称为JDBC。您可以找到MySql JDBC driver here

答案 2 :(得分:0)

我最终为我的需求编写了一个特定的片段。我只需要支持特定的查询,所以我没有为mysql输出编写通用的解析器。无论如何,这是我的代码:

  String[] lines = sqlOutput.toLowerCase().split("\n");
  if (lines.length != 2) {
    throw new Exception("Failed to parse, bad header line");
  }

  String headers = lines[0];
  String body = lines[1];

  if (!headers.startsWith("count(*)"))
    throw new Exception("Query output must start with 'count(*)'")

  Scanner scanner = new Scanner(body);
  return scanner.nextInt()