Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak uzyskać wyniki wielu tabel procedury składowanej przy użyciu SimpleJDBCCall na wiosnę?

Byłem bardzo ignorantem, to faktycznie działa! Możesz określić oba zestawy wyników, każdy z własnym maperem. W kodzie wygląda to tak:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wygenerować zakres liczb między dwiema liczbami?

  2. Jak uzyskać określony format daty ('dd-MMM-rrrr') w zapytaniu SELECT SQL Server 2008 R2

  3. Kolejność instalacji/odinstalowania VS 2008 i SQL Server 2008

  4. Wewnętrzne sprzężenie SQL na wartościach zerowych

  5. Kontrola źródła i procedury składowane