mybatis实现动态字段查询,如果某个条件为null,则不查询某个字段,否则就查询某个字段
先看一下 怎么实现动态的自定义字段查询:
例如:
而field 就是数据表中的某一个字段
String findContextByGoodsUid(@Param("goodsUid") String goodsUid,@Param("field") String field);
<select id="findContextByGoodsUid" resultType="java.lang.String" parameterType="java.lang.String">
SELECT
${field}
FROM goods_config_query
WHERE goods_uid = #{goodsUid}
</select>
同样 如果某个字段为null,则不查询某个字段
<select id="findContextAndNoActByGoodsUid" resultType="com.pisen.cloud.luna.ms.goods.api.beans.MemberQueryBean" parameterType="java.lang.String">
SELECT
<if test="field != null">
${field} context,
</if>
not_act notAct,
scan_code_limit_time scanCodeLimitTime,
scan_code_limit scanCodeLimit
FROM goods_config_query
WHERE goods_uid = #{goodsUid}
</select>
本文介绍如何使用MyBatis实现动态字段查询功能。当某个查询条件为null时,可以跳过对该字段的查询,避免无效的数据筛选。通过示例展示了如何在XML映射文件中利用<if>标签实现这一功能。

3004

被折叠的 条评论
为什么被折叠?



