sql >> データベース >  >> RDS >> Sqlserver

春にSimpleJDBCCallを使用してストアドプロシージャのマルチテーブル結果を取得するには?

    私はほとんど無知でした、それは実際に機能します!それぞれ独自のマッパーを使用して、両方の結果セットを指定できます。コードでは、次のようになります:

    SimpleJdbcCall call = new SimpleJdbcCall(this.jdbc)
               .withProcedureName("get_users3")
               .returningResultSet("rs1", new ParameterizedRowMapper<Object[]>()
               {
                  @Override
                  public Object[] mapRow(ResultSet rs, int rowNum) throws SQLException
                  {
                     return new Object[] { rowNum, rs.getInt(1), rs.getString(2) };
                  }
               })
               .returningResultSet("rs2", new ParameterizedRowMapper<Object[]>()
               {
                  @Override
                  public Object[] mapRow(ResultSet rs, int rowNum) throws SQLException
                  {
                     return new Object[] { rowNum, rs.getInt(1), rs.getString(2) };
                  }
               });
    
      Map<String, Object> res = call.execute();
      assertNotNull(res.get("rs1"));
      assertNotNull(res.get("rs2"));
      List<Object[]> l1 = (List<Object[]>)res.get("rs1");
      List<Object[]> l2 = (List<Object[]>)res.get("rs2");
      


    1. UNCOMPRESSED_LENGTH()がMariaDBでどのように機能するか

    2. 以下の結果出力を達成しようとしています

    3. 範囲基準を使用した結合テーブルでのMySQLの最適化

    4. MySQLテーブルに基づいてC#クラスを作成します