java吧 关注:1,264,396贴子:12,767,521
  • 12回复贴,共1

ibatis批量插入问题,求大神降临

只看楼主收藏回复

我用ibatis批量插入一张表,传的参数是表对象的list
sqlmap写的如下
<insert id="insertBatch" parameterClass="java.util.ArrayList">
insert all
<iterate conjunction="">
into tb_phone
(phone_id, phone_name, phone_salefee)
values(tb_phone$$SEQ.NEXTVAL, #[].phone_id:DECIMAL#, #[].phone_name:VARCHAR#, #[].phone_salefee:VARCHAR#)
</iterate>
select * from dual
</insert>


IP属地:北京1楼2013-10-26 19:53回复
    @ windsun_ul


    IP属地:北京2楼2013-10-26 19:57
    回复
      2025-06-14 22:35:05
      广告
      @windsun_ul


      IP属地:北京3楼2013-10-26 19:57
      回复
        大神求解求解


        IP属地:北京4楼2013-10-26 19:59
        回复
          别沉行吗,跪等大神


          IP属地:北京5楼2013-10-26 20:22
          回复
            求解啊


            IP属地:北京来自Android客户端6楼2013-10-26 21:56
            回复
              人呢人呢?


              IP属地:北京来自Android客户端7楼2013-10-27 08:11
              回复
                看帖是一种乐趣,围观是一种态度,回帖是一种关怀,留下十五字是一种责任!


                来自Android客户端8楼2013-10-27 08:57
                回复
                  2025-06-14 22:29:05
                  广告
                  一个 insert最好只对一个values,多了会有问题的。
                  而且我已经弃用ibatis改用mybatis好久了,批量插入建议使用ibatis 批处理


                  IP属地:北京9楼2013-10-27 09:27
                  回复
                    用insert into select


                    IP属地:陕西来自iPhone客户端10楼2013-10-27 09:34
                    回复
                      再多说两句,你把select放到iterate外面不行,应该放里面,select 参数 from dual


                      IP属地:陕西来自iPhone客户端11楼2013-10-27 09:36
                      回复
                        还有,这样不叫批量提交,有问题,应该调ibatis的接口,有个批量提交。


                        IP属地:陕西来自iPhone客户端12楼2013-10-27 09:38
                        回复
                          <insert id="insertBatch" parameterClass="java.util.ArrayList">
                          <selectKey resultClass="java.lang.Integer" type="pre"
                          keyProperty="id">
                          select SEQ_TMG_ID.nextval val from dual
                          </selectKey><iterate conjunction=";">
                          insert allinto tb_phone
                          (phone_id, phone_name, phone_salefee)
                          values(tb_phone$$SEQ.NEXTVAL, #[].phone_id:DECIMAL#, #[].phone_name:VARCHAR#, #[].phone_salefee:VARCHAR#)
                          </iterate>
                          </insert>


                          IP属地:北京14楼2013-10-27 09:45
                          回复