Mybatis - передача нескольких параметров в аннотации @One

Razvi спросил: 27 ноября 2017 в 06:10 в: mybatis

Я пытаюсь получить доступ к таблице в моей Вторичной БД, имя которой я получаю из своей Первичной БД. Моя трудность состоит в том, чтобы передать "DB-Name" в качестве параметра в мой дополнительный запрос (кстати, я использую мапперы на основе аннотаций MyBatis).

Это мой Mapper

@SelectProvider(type = DealerQueryBuilder.class, method = "retrieveDealerListQuery")
@Results({
    @Result(property="dealerID",                column="frm_dealer_master_id"),
    @Result(property="dealerTypeID",            column="frm_dealer_type_id",        one=@One(select="retrieveDealerTypeDAO")),
    @Result(property="dealerName",              column="frm_dealer_name")
})
public List<Dealer> retrieveDealerListDAO(@Param("firmDBName") String firmDBName);@Select("SELECT * from ${firmDBName}.frm_dealer_type where frm_dealer_type_id=#{frm_dealer_type_id}")
@Results({
    @Result(property="dealerTypeID",            column="frm_dealer_type_id"),
    @Result(property="dealerType",              column="frm_dealer_type")
})
public DealerType retrieveDealerTypeDAO(@Param("firmDBName") String firmDBName, @Param("frm_dealer_type_id") int frm_dealer_type_id);

Имеющееся у меня firmDBName получено из моей "Первичной БД".

  • Если я опускаю $ {firmDBName} во втором запросе, запрос пытается получить доступ к моей Первичной базе данных и выбрасывает таблицу"PrimaryDB.frm_dealer_type" не найдена. Поэтому в основном я пытаюсь найти таблицу с именем "frm_dealer_type" в моей основной БД.
  • Если я попытаюсь переписать @Result как

    @Result ( property ="dealerTypeID", column ="firmDBName = firmDBName, frm_dealer_type_id = frm_dealer_type_id", one = @ One (select ="retrieveDealerTypeDAO")),

Выдает ошибку этот столбец"firmDBName" не существует.

  • Изменение $ {firmDBName} на # {firmDBName} также не помогло.

Я действительно ссылался на это блог - здесь

Я хочу, чтобы решение передавало мой параметр firmDBName из основного запроса во дополнительный запрос.

0 ответов