mybatis 批量操作

来源:互联网 发布:深圳sem优化 编辑:程序博客网 时间:2024/06/05 22:39

mybatis批量其实就是一个用mysql句柄拼sql的过程:

批量更新:

<update id="updateBatch" parameterType="java.util.List">        UPDATE test set        <foreach collection="list" item="item" index="index"            separator=" " open="FSEQ = CASE" close="end,">            WHEN FID = #{item.fid} then #{item.fseq,jdbcType=NUMERIC}        </foreach>        <foreach collection="list" item="item" index="index"            separator=" " open="FPARENTID = CASE" close="end,">            WHEN FID = #{item.fid} then #{item.fparentId,jdbcType=VARCHAR}        </foreach>        <foreach collection="list" item="item" index="index"            separator=" " open="CFPURORDERUNITID = CASE" close="end">            WHEN FID = #{item.fid} then #{item.cfpurOrderUnitId,jdbcType=NUMERIC}        </foreach>        WHERE FID IN (        <foreach collection="list" item="item" index="index"            separator=",">            #{item.fid}        </foreach>        )    </update>

批量查询:

<select id="queryByids" resultMap="BaseResultMap" parameterType="java.util.List">        select        fid,fseq,fparentId,cfpurOrderUnitId        from test        <where>            id in (            <foreach collection="list" item="item" index="index"                separator=",">                #{item.id}            </foreach>            );        </where></select>
0 0
原创粉丝点击