sql >> Database >  >> RDS >> Mysql

Spring JDBC-sjabloon - Hoe meerdere resultaten met meerdere parameters op te halen met een enkele query

Als u slechts één sql-statement wilt gebruiken, kunt u ResultSetExtractor gebruiken

public class SelectItemResultSetExtractor implements ResultSetExtractor<LinkedHashMap<String, List<SelectItem>>>{  

    public LinkedHashMap<String, List<SelectItem>> extractData(ResultSet rs) throws SQLException,  
            DataAccessException {  

        LinkedHashMap<String, List<SelectItem>> result = new ...
        //put the 3 categories with empty arraylists


        while(rs.next()){
            SelectItem item= new SelectItem();
            item.setRoleid(rs.getInt(1))  
            item.setFirstName(rs.getInt(2));  
            item.setLastName(rs.getString(3));

            //if item.getRoleid() is ProjManager
            // then put in the list of the ProjManager
            result.get("ProjManager").add(item);
            //if item.getRoleid() is ResourceOwnerSE
            // then put in the list of the ResourceOwnerSE
            ...
        }


        return result;  
    }  

}  



  1. Querycombinaties met geneste reeks records in JSON-gegevenstype

  2. Live migraties met MySQL-replicatie

  3. subtotaal en totaal voor strings

  4. SUBSTRING_INDEX met meerdere scheidingstekens