Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana cara mendapatkan hasil multi tabel dari prosedur tersimpan menggunakan SimpleJDBCCall di musim semi?

Saya paling bodoh, itu benar-benar berhasil! Anda dapat menentukan kedua hasil, dengan masing-masing mappernya sendiri. Dalam kode terlihat seperti ini:

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. pyodbc tidak dapat terhubung ke database

  2. Mengatasi SQL Server Database Terjebak dalam Masalah Mode Tersangka Secara Efisien

  3. Kompatibilitas Layanan Integrasi server Sql 2008-2005

  4. Menanyakan nilai terenkripsi dalam database

  5. Prosedur tersimpan/skema DB dalam kontrol sumber