Вот весенний загрузочный проект с 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>
Новая версия будет предварительно фильтровать существующий результат запроса. Мы будем благодарны за любую информацию или ключевые слова!