Dans MyBatis, Comment spécifier le type de résultat pour un SelectProvider

Ceci est mon premier post, à l'aide de mon mauvais anglais...

Je suis en utilisant MyBatis3.0

Dans une requête, j'ai utilisé SqlBuilder avec une méthode comme suit:

public class DataStatisticSqlBuilder extends SqlBuilder{ 

public String getDataQtyListSql(Map<String, Object> map){

et un mappeur de l'interface comme suit:

public interface DataStatisticMapper {

@SelectProvider(type=DataStatisticSqlBuilder.class, method="getDataQtyListSql")

public List<Map<String, Object>> getDataQtyList(@Param("groups")
List<DataStatisticSqlBuilder.Group> groups, @Param("quatity") Integer quatity, @Param("struct") Struct struct); 
}

Quand j'ai appelé

session.getMapper(DataStatisticMapper.class).getDataQtyList(...some parameters)

j'ai obtenu le résultat suivant de sortie dans la console:

<==    Columns: PROJECT, PRJ_COUNT, TAR_COUNT, SITE_COUNT, PARAM_COUNT
<==        Row: project A, 1, 1, 0, 0 
<==        Row: project B, 1, 1, 0, 0

Fondée sur le dessus de la sortie, le résultat attendu doit être une Liste [Carte, plan, ...], mais le résultat est [null, null]. Semble que le résultat n'est pas mappé à HashMap. Comment définir le type de résultat sur HashMap sur cette requête?

Peut-être utiliser certaines annotations, mais je n'ai pas trouver.

Merci beaucoup.

InformationsquelleAutor Zys | 2011-08-20