mybatis 批量新增(返回主键),批量查询,批量更新数据

2023-12-15 11:58:48

1.配置连接允许批量操作
在这里插入图片描述
配置url后面

&allowMultiQueries=true

2.数据层

2.1 mapper

  // 新增
  void saveNewStudyPartyDatums(List<StudyDatum> list);
  // 查询
   List<Party> getParties(@Param("partIds") List<Long> partIds); 
  // 更新
  void updateDatumIdBatchByIds(List<StudyPartyDatum> list);

2.2 mapper.xml

<!-- 新增-->
    <insert id="saveNewStudyPartyDatums" useGeneratedKeys="true" keyProperty="studyId" parameterType="list">
        insert into dj_study_datum
        (study_title, is_study, file_url, abort_time, top_status,create_by, create_time, update_by, update_time, service_type,party_id,type,tenant_id)
        values
            <foreach collection="list" item="item" separator=",">
                (#{item.studyTitle}, #{item.isStudy}, #{item.fileUrl}, #{item.abortTime}, #{item.topStatus},
                 #{item.createBy}, #{item.createTime}, #{item.updateBy},#{item.updateTime},
                 #{item.serviceType},#{item.partyId},#{item.type},#{item.tenantId})
            </foreach>
    </insert>
    
<!-- 查询-->
    <select id="getParties" resultType="com.ysgz.web.domain.Party">
        select dp.* from dj_party dp
                    where dp.del_flag='0'
                    and dp.party_id in
        <foreach collection="partIds" item="partyId" open="(" separator="," close=")">
            #{partyId}
        </foreach>
    </select>
    
<!-- 更新-->
   <update id="updateDatumIdBatchByIds" parameterType="list">

        <foreach collection="list" item="item" separator=";">
            update dj_study_party_datum
            <set>
                datum_id=#{item.datumId}
            </set>
            where party_datum_id=#{item.partyDatumId}
        </foreach>

    </update>

文章来源:https://blog.csdn.net/qq_43816654/article/details/135011327
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。