【问题标题】:How to build a dynamic query in java如何在java中构建动态查询
【发布时间】:2015-08-02 12:10:23
【问题描述】:

我在 MySQL 服务器中有一个有效的动态查询,如下所示,现在我想要在我的 Java 程序中从此查询中获取结果。我已经搜索了互联网,但无法找到相关的解决方案。请指出我正确的方向。谢谢

设置@sql = NULL; 选择 GROUP_CONCAT(DISTINCT 连接( 'COALESCE(GROUP_CONCAT(DISTINCT case when branch = ''', 分支, ''' 然后状态结束),''OK'') AS ', CONCAT('分支',分支) ) ) 进入@sql 从表1; SET @sql = CONCAT('SELECT productName, ', @sql, ' 从表 1 按产品名称分组'); 从@sql 准备stmt; 执行语句;

【问题讨论】:

    标签: java mysql stored-procedures


    【解决方案1】:

    在 JAVA 中使用 PreparedStatement 或其子类型 CallableStatement 并从您的 JAVA 代码中调用 execute(<QUERY_NAME>),并具有适当的数据库连接。

    public void executeProcedure() throws SQLException {
      Connection con = DriverManager.getConnection("jdbc:default:connection");
      CallableStatement cs = this.con.prepareCall("{call <PROCEDURE_NAME>()");
      cs.execute();
    }
    

    如果您有任何参数要发送到过程,请将它们作为逗号分隔的问号包含在括号中,然后单独设置它们的值。

    参考文档here 和教程示例here

    【讨论】:

      猜你喜欢
      • 2012-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-25
      • 2018-04-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多