SqlServer+mybatis-plus无法批量插入并返回自增id列表的解决方案
- service用selectList调用xml里的插入方法:
List<MyEntity> myEntityList = ...
SqlSessionFactory sqlSessionFactory = SqlHelper.sqlSessionFactory(MyEntity.class)
SqlSession sqlSession = sqlSessionFactory.openSession()
List<Integer> ids = sqlSession.selectList("myInsertbacth", myEntityList)
- mapper.xml中用 OUTPUT INSERTED.id 输出自增的主键id列表,自增注解请自行配置在实体类
<insert id="batchInsertUsers" parameterType="list">
INSERT INTO users (name)
OUTPUT INSERTED.id
VALUES
<foreach collection="list" item="user" separator=",">
(
</foreach>
</insert>