Добавить новое условие соединения запроса для всех существующих Query SqlSession в Springboot с mybaits - PullRequest
0 голосов
/ 07 февраля 2020

Вот весенний загрузочный проект с 30+ файлами сопоставления для работы с БД (с использованием mybatis).

В последнее время нам нужно обновить систему, и нам нужно добавить новое условие соединения для большинства / всех запрос sql операторов в файлах сопоставления. Поскольку модификация всех существующих запросов подвержена ошибкам, мне интересно, существует ли лучший способ сделать это.

Например, существующий оператор запроса в маппере:

   <select id="getBySkuId" resultMap="BaseResultMap">
        select
        <include refid="all_column"/>
        from spu
        where id = (SELECT spu_id FROM spu_to_goods where goods_id = #{skuId}) and is_deleted = 0 and app_id = #{appId}
    </select>

Целевой запрос будет выглядеть так:

  <select id="getBySkuId" resultMap="BaseResultMap">
        select
        <include refid="all_column"/>
        from spu, biz_sys_to
        where id = (SELECT spu_id FROM spu_to_goods where goods_id = #{skuId}) and is_deleted = 0 and app_id = #{appId} and biz_sys_to.app_id = #{appId}
    </select> 

Новая версия будет предварительно фильтровать существующий результат запроса. Мы будем благодарны за любую информацию или ключевые слова!

...