美文网首页
mybatis批量新增数据

mybatis批量新增数据

作者: 老林_ | 来源:发表于2021-05-13 14:57 被阅读0次

    Mapper.xml中

    自动生成key id值方法一

    <!--这里配置了自动生成key 以及配置id重设置到对象中-->
     <insert id="insertAnimalByList" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
            insert into animal(`type`,age_max , update_time) values
            <!--注意这里collection对应的键值,使用的是list的默认值-->
            <foreach collection="list" item="animal" separator=",">
                (#{animal.type},#{animal.ageMax},#{animal.updateTime})
            </foreach>
        </insert>
    

    java方法使用

    private static void insertDatas() throws IOException {
            PropertyConfigurator.configure("src/main/resources/mappings3/log4j.properties");
            InputStream inputStream=Resources.getResourceAsStream("mappings3/mybatis-config.xml");
            SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
            try (SqlSession sqlSession=sqlSessionFactory.openSession()){
                ArrayList<Animal> animals=new ArrayList<>();
                animals.add(new Animal("豹子","15",new Date()));
                animals.add(new Animal("蝴蝶","1",new Date()));
                animals.add(new Animal("咕咕咕","12",new Date()));
                /*AnimalVO animalVO=new AnimalVO();
                animalVO.setAnimals(animals);*/
                sqlSession.insert("com.ly3.entity.AnimalMapper.insertAnimalByList",animals);
                sqlSession.commit();
            }
        }
    

    自动生成key id值方法二

    单条数据新增

    <insert id="insertAnimal2" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
            <selectKey keyProperty="id" resultType="int" order="AFTER">
                SELECT LAST_INSERT_ID()
            </selectKey>
            insert into animal(id,`type`,age_max,update_time) values(#{id},#{type},#{ageMax},#{updateTime})
        </insert>
    
    

    相关文章

      网友评论

          本文标题:mybatis批量新增数据

          本文链接:https://www.haomeiwen.com/subject/dcxxjltx.html