У меня есть таблица с некоторыми полями и некоторая форма поиска для этой таблицы. Я хочу добавить способность фильтровать элементы в таблице, используя эту форму. Чтобы реализовать это, я хочу сделать выбор из таблицы с параметрами, полученными из формы поиска.лучший способ реализовать фильтрацию с помощью mybatis
Но проблема в Что такое лучший способ реализовать его с помощью MyBatis и его XML-карты?
мне не нравится мое решение, потому что, если до 10 параметров - запрос будет огромным ...
<select id="getFilteredDevelopers" parameterType="map" resultMap="DeveloperResult">
select
developer_id,
private_information
from pmc.developer
<choose>
<when test="filterId != null and filterPrivateInformation == null">
where developer_id like #{filterId}
</when>
<when test="filterId != null and filterPrivateInformation != null">
where developer_id like #{filterId} and private_information like #{filterPrivateInformation}
</when>
<when test="filterId == null and filterPrivateInformation != null">
where private_information like #{filterPrivateInformation}
</when>
</choose>
</select>
Просто небольшое изменение может быть, но вы можете заменить часть «где TRUE» на «», а затем закрыть тег после. –
yalpertem