使用mybatis进行批量插入操作带序列
2018-01-05 09:43
288 查看
进行批量插入 使用union all,批插带序列插入
不使用 union all,批插不带序列
不使用union all的速度会快一些
<!-- 批插带序列使用了union all --> <insert id="insertDetailed" parameterType="java.util.List" useGeneratedKeys="false"> insert into Detailed( id, DETAILNUMBER, payeebankname, payeebanknum, name, money, batchnumber, enterprisepipeliningnum, note, banknumber ) select seq_detailed.nextval, A.* from( <foreach collection="list" item="item" index="index" separator="UNION ALL"> SELECT #{item.detailnumber, jdbcType=VARCHAR}, #{item.payeebankname, jdbcType=VARCHAR}, #{item.payeebanknum, jdbcType=VARCHAR}, #{item.name, jdbcType=VARCHAR}, #{item.money, jdbcType=VARCHAR}, #{item.batchnumber, jdbcType=VARCHAR}, #{item.enterprisepipeliningnum, jdbcType=VARCHAR}, #{item.note, jdbcType=VARCHAR}, #{item.banknumber, jdbcType=VARCHAR} from dual </foreach> ) A </insert>
不使用 union all,批插不带序列
<!-- 批插不带序列 --> <!-- <insert id="insertDetailed" parameterType="java.util.List" useGeneratedKeys="false"> INSERT ALL <foreach item="item" index="index" collection="list"> INTO Detailed ( DETAILNUMBER, payeebankname, payeebanknum, name, money, batchnumber, enterprisepipeliningnum, note, banknumber, status ) VALUES ( #{item.detailnumber, jdbcType=VARCHAR}, #{item.payeebankname, jdbcType=VARCHAR}, #{item.payeebanknum, jdbcType=VARCHAR}, #{item.name, jdbcType=VARCHAR}, #{item.money, jdbcType=VARCHAR}, #{item.batchnumber, jdbcType=VARCHAR}, #{item.enterprisepipeliningnum, jdbcType=VARCHAR}, #{item.note, jdbcType=VARCHAR}, #{item.banknumber, jdbcType=VARCHAR}, #{item.status, jdbcType=VARCHAR} ) </foreach> SELECT 1 FROM DUAL </insert> -->
不使用union all的速度会快一些
相关文章推荐
- mybatis+spring的TODO小项目记录(六)使用mybatis进行数据库操作
- 使用MyBatis对标进行CRUD操作
- 使用MyBatis框架进行数据库的增删改查操作
- Spring Boot快速入门(五):使用MyBatis(注解形式)进行数据库操作
- 使用MyBatis进行数据库的操作,出现XAER_RMFAIL错误
- 如何使用mybatis对mysql数据库进行操作,batis的增删改查
- myBatis 操作 mysql时,使用 like 关键进行模糊查询的方法
- mybatis(3)---使用mybatis对表进行CRUD操作
- Mybatis的学习总结二:使用Mybatis对表进行CRUD操作【参考】
- 使用LogKit进行日志操作
- 使用Log4j进行日志操作
- 使用程序对Office自动化进行操作的一些文章。
- [How To]如何使用Wildfish进行ISeries开发---多操作篇
- VC中使用ADO进行数据库操作
- 使用IOCP进行客户socket与完成端口关联操作
- 如何使用ANT自动进行数据库的相关操作
- 如何使用ANT自动进行数据库的相关操作
- 使用xmltextreader对xml进行简单的读取和写入操作
- 使用Log4j进行日志操作
- 单独使用MFC CRecord类进行数据库操作(原创心得)