好久没用mybatis有点记不清了,今天突然碰到需要动态拼接sql查询,所以记录一下。
每个ORM框架都有各自的优势,mybaits的优势就是灵活,自己写sql不用维护对象之间的关系,适合复杂的数据库操作。
动态sql操作就是mybatis的优势之一。
<select id="findTerminal"
resultType="Terminal"
parameterType="TerminalConfigureRequest">
SELECT
*
FROM
system_dictionary_detail
WHERE
dict_id = 2
<if test="status != null and status != ''">
AND `STATUS` = 'A'
</if>
<if test="rcdsts != null and rcdsts != ''">
AND RCDSTS = 'A';
</if>
</select>
test是固定写法,“”里边是判断条件,判断体是需要动态添加的sql片段,如果条件满足则动态添加sql片段。