mybatis-plus 批量导入返回主键id postgresql

本文介绍如何在Mybatis-Plus 3.3.1中使用insertBatch方法插入List对象,关注数据自增ID的处理及代码实现。通过Mapper接口的List插入方法,以及Mapper XML文件的配置,展示了如何在插入时获取并设置自动生成的ID。
摘要由CSDN通过智能技术生成

1、导入包

		<dependency>
			<groupId>com.baomidou</groupId>
			<artifactId>mybatis-plus</artifactId>
		</dependency>
		<dependency>
			<groupId>com.baomidou</groupId>
			<artifactId>mybatis-plus-boot-starter</artifactId>
		</dependency>

版本3.3.1

2、Mapper.java文件

int insertBatch(List<SubWarn> list);

不需要@Param

3、Mapper.xml文件

	<insert id="insertBatch" parameterType="java.util.List" keyColumn="id" keyProperty="id" useGeneratedKeys="true">
        insert into sub_warn(id,subject_name, warn_type, warn_levels, warn_title, warn_content,
        town_name, town_code, town_uid,
        county_name, county_code, county_uid,
        city_name, city_code, city_uid,
        province_name, province_code, province_id,
        lon, lat, create_time, start_time, end_time, be_star, status, be_fake) values
        <foreach collection="list" item="item" separator="," close=";">
            (nextval('sub_warn_id_seq'),#{item.subjectName}, #{item.warnType}, #{item.warnLevels}, #{item.warnTitle}, #{item.warnContent},
            #{item.townName}, #{item.townCode}, #{item.townUid},
            #{item.countyName}, #{item.countyCode}, #{item.countyUid},
            #{item.cityName}, #{item.cityCode}, #{item.cityUid},
            #{item.provinceName}, #{item.provinceCode}, #{item.provinceId},
            #{item.lon}, #{item.lat}, #{item.createTime}, #{item.startTime},#{item.endTime},
            #{item.beStar},#{item.status},#{item.beFake})
        </foreach>
    </insert>

注意:数据设置好id自增,并在插入时也插入id,值为nextval(‘sub_warn_id_seq’)

4、调用

		List<SubWarn> subWarns = new ArrayList<>();
        SubWarn s1 = new SubWarn();
        s1.setSubjectName("tt1");
        SubWarn s2 = new SubWarn(s1);
        s2.setSubjectName("tt2");
        subWarns.add(s1);
        subWarns.add(s2);
        subWarnMapper.insertBatch(subWarns);
        LOG.info("更新为:{}", JSONObject.toJSONString(subWarns));

返回结果打印id有值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值