Supposons que vous ayez le tableau "boutiques" suivant
| shop_cd | prefecture | 
|---|---|
| 0001 | Préfecture de Kanagawa | 
| 0002 | Préfecture de Kanagawa | 
| 0002 | Préfecture de Kanagawa | 
| 0003 | Préfecture de Kanagawa | 
| 0003 | Préfecture de Kanagawa | 
| 0004 | Tokyo | 
Je veux une liste unique de codes de magasin qui spécifient "Kanagawa Prefecture".
public interface ShopMapper {
  /**
   *Obtenez une liste des codes de magasin en spécifiant la préfecture.
   *
   * @return List<Map<String, String>>
   *Carte par résultat
   *     - prefecture:Nom de préfecture spécifié (japonais)
   *     - shopCd:le code du site
   */
  @SelectProvider(type = SqlProvider.class, method = "getShopCodesByPrefecture")
  @Results(id = "ShopCodesByPrefecture", value = {
          @Result(column = "shop_cd", property = "shopCd"),
          @Result(column = "prefecture", property = "prefecture"),
  })
  List<Map<String, String>> getShopCodesByPrefecture(String brandCd, String prefecture);
  class SqlProvider {
    public String getShopCodesByPrefecture(String prefecture) {
      SQL sql = new SQL() {
        {
          SELECT("shop_cd", "prefecture");
          FROM("shops");
          WHERE("shops.prefecture = #{prefecture}");
          GROUP_BY("shop_cd");
          ORDER_BY("shop_cd ASC");
        }
      };
      return sql.toString();
    }
  }
}
J'ai spécifié @Results et @Result afin que les résultats de la recherche puissent être obtenus dans Map.
Recommended Posts