【mybatis】mybatis自定义动态字段查询,mybatis实现动态字段查询,如果某个条件为null,则不查询某个字段,否则就查询某个字段

时间:2022-09-22 15:02:23

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>