91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

?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
铅山县| 丰县| 普陀区| 布拖县| 东方市| 娱乐| 白银市| 静宁县| 海盐县| 滦南县| 合作市| 龙泉市| 镇坪县| 沧源| 准格尔旗| 兰州市| 新巴尔虎左旗| 昂仁县| 南和县| 寿光市| 鹤峰县| 江油市| 阳春市| 五莲县| 通山县| 大丰市| 洮南市| 寿宁县| 铜山县| 新源县| 百色市| 定远县| 关岭| 岳池县| 寻乌县| 阳曲县| 梧州市| 通化县| 宜州市| 巨鹿县| 阳城县|