前景:
有批量数据需要进行插入操作。封装成一个list集合,来进行插入操作
下面写的是题外话,关于orcale查询数据量太大,查询时间慢的一个小tips,不需要可直接跳过。
==============》
这里需要提一下,如果你使用的数据是orcale,查询的数据量比较大的可以在标签内谁一个fetchsize属性(50,100,200。。。)可以减少和数据库通信的次数,亲测查询速度加快 但是据说数值越大对内存的要求越大,办公电脑只有8G,所以我这里设置的是100,默认fetchsize的值是10,设置大些会让操作时间大大缩短
<select id="*****" resultMap="******" parameterType="******" fetcjsize=“100”>
<select>
题外话说完,现在就是批量插入了
<insert id="***" parameterType="******">
<foreach collection="*****" item="******" index="index" separator="union all">
</foreach>
</insert>
speartor 是必不可少的,但是index可加可不加,测试时候没有index也是可以正常插入的,但是为了完整性还是加上了。
*********** 星号请自行添写,为了不暴露代码 具体内容都已经去掉了
还有一点要说,如果你的插入有序列,要在加一个标签
<selectKey keyProperty="***" resultType="java.lang.Integer" keyProperty=‘“***” order="BEFORE">
select SEQ_tb_data_cust.NEXTVAL from dual
</selectKey>
还有一点主意 keyProperty 对应到主键的列名之后,还要把主见列名写到inser语句的()中声明好。
例如
<keyProperty=‘“user_no”>
<insert>
INSERT INTO tb_data_cust. values(user_no,*,*,*,*....)
</insert>
标签的属性值的作用我也准备好了,贴一张图片吧
ok,先写这么多。 如果在遇到什么问题我在来补充。