关于批量插入一组数据

这篇博客介绍了如何在MyBatis中进行批量数据插入,重点讲解了配置中id、parameterType、keyProperty和useGeneratedKeys的使用。parameterType用于指定接口方法的参数类型,keyProperty则是在数据库自增主键后将ID回填到Java实体类的相应属性上。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

批量插入输入,参数的类型为 resultMap中的形式

id是接口方法名

parameterType是参数类型,解析见关于parameterType的解释

keyProperty是Pojo中Java 实体类对象的属性名(keyproperty指明数据库中返回的主键id实体类中的哪个属性)

useGeneratedKeys =true 这个表示插入数据之后 返回 一个自增的主键id给你对应实体类中的主键属性

<insert id="insertBatch" parameterType="CerComponent" useGeneratedKeys="true" keyProperty="id" >
        insert into cer_book_component(id,book_id,cmpt_name,work_name,rate_time,real_time,count_down,cmpt_type,cmpt_left,cmpt_top,
        cmpt_width,cmpt_height,cmpt_line,cmpt_operator,cmpt_role,cmpt_user,num_begin,num_end,is_equal_begin,is_equal_end,num_point,
        font_size,font_name,file_path,is_required) values
        <foreach item="item" collection="list" separator=",">
            (#{item.id},#{item.bookId},#{item.cmptName},#{item.workName},#{item.rateTime},#{item.realTime},#{item.countDown},#{item.cmptType},
            #{item.cmptLeft},#{item.cmptTop},#{item.cmptWidth},#{item.cmptHeight},#{item.cmptLine},#{item.cmptOperator},#{item.cmptRole},
            #{item.cmptUser},#{item.numBegin},#{item.numEnd},#{item.isEqualBegin},#{item.isEqualEnd},#{item.numPoint},
            #{item.fontSize},#{item.fontName},#{item.filePath},#{item.isRequired})
        </foreach>

    </insert>

<resultMap id="CerComponent" type="CerComponentResult">
        <result property="id"    column="id"    />
        <result property="bookId"    column="book_id"    />
        <result property="cmptName"    column="cmpt_name"    />
        <result property="workName"    column="work_name"    />
        <result property="rateTime"    column="rate_time"    />
        <result property="realTime"    column="real_time"    />
        <result property="countDown"    column="count_down"    />
        <result property="cmptType"    column="cmpt_type"    />
        <result property="cmptTypeName"    column="cmpt_type_name"    />
        <result property="cmptLeft"    column="cmpt_left"    />
        <result property="cmptTop"    column="cmpt_top"    />
        <result property="cmptWidth"    column="cmpt_width"    />
        <result property="cmptHeight"    column="cmpt_height"    />
        <result property="cmptLine"    column="cmpt_line"    />
        <result property="cmptOperator"    column="cmpt_operator"    />
        <result property="cmptRole"    column="cmpt_role"    />
        <result property="cmptUser"    column="cmpt_user"    />
        <result property="numBegin"    column="num_begin"    />
        <result property="numEnd"    column="num_end"    />
        <result property="isEqualBegin"    column="is_equal_begin"    />
        <result property="isEqualEnd"    column="is_equal_end"    />
        <result property="numPoint"    column="num_point"    />
        <result property="fontSize"    column="font_size"    />
        <result property="fontName"    column="font_name"    />
        <result property="filePath"    column="file_path"    />
        <result property="isRequired"    column="is_required"    />
        <result property="isLimit"    column="is_limit"    />
    </resultMap>

关于parameterType和resultType请查看原文博主解释,此处不做过多解释
mybatis传入参数类型parameterType和输出结果类型resultType详解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值