亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

?mybatis批量insert的幾種方式

小億
201
2023-12-20 21:40:32
欄目: 編程語言

MyBatis 提供了多種方式來實現批量插入操作:

  1. 使用 foreach 標簽:
    在 Mapper XML 文件中使用 foreach 標簽,通過遍歷集合來執行批量插入操作。示例代碼如下:

    <insert id="batchInsert" parameterType="java.util.List">
        INSERT INTO my_table (column1, column2)
        VALUES
        <foreach collection="list" item="item" separator=",">
            (#{item.column1}, #{item.column2})
        </foreach>
    </insert>
    

    這里的 list 是一個包含插入數據的集合。

  2. 使用 MyBatisBatchExecutor 批量執行器:
    在 Java 代碼中使用 BatchExecutor 批量執行器來執行批量插入操作。示例代碼如下:

    SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH);
    try {
        MyMapper mapper = sqlSession.getMapper(MyMapper.class);
        for (MyObject obj : list) {
            mapper.insert(obj);
        }
        sqlSession.commit();
    } catch (Exception e) {
        sqlSession.rollback();
    } finally {
        sqlSession.close();
    }
    

    這里的 list 是一個包含插入數據的集合,MyObject 是對應表的實體類。

  3. 使用 JDBC 的批處理:
    直接使用 JDBC 的批處理來執行批量插入操作。示例代碼如下:

    Connection connection = dataSource.getConnection();
    try {
        PreparedStatement ps = connection.prepareStatement("INSERT INTO my_table (column1, column2) VALUES (?, ?)");
        for (MyObject obj : list) {
            ps.setString(1, obj.getColumn1());
            ps.setString(2, obj.getColumn2());
            ps.addBatch();
        }
        ps.executeBatch();
        connection.commit();
    } catch (Exception e) {
        connection.rollback();
    } finally {
        connection.close();
    }
    

    這里的 list 是一個包含插入數據的集合,MyObject 是對應表的實體類。

0
本溪市| 临澧县| 晴隆县| 商都县| 大埔县| 洛浦县| 隆昌县| 肇东市| 洛隆县| 常熟市| 辽宁省| 南川市| 林口县| 临潭县| 林西县| 香格里拉县| 建昌县| 临沭县| 高雄市| 东海县| 海宁市| 祁阳县| 铜梁县| 陇川县| 华蓥市| 醴陵市| 九龙坡区| 东乡| 中宁县| 萨迦县| 象山县| 尚志市| 屏边| 定安县| 张家口市| 都安| 大邑县| 饶河县| 革吉县| 怀化市| 曲沃县|