mybatis数据批量插入

首先看看批处理的mapper.xml文件

<insert id="insertbatch" parameterType="java.util.List">
  	<selectKey keyProperty="fetchTime" order="BEFORE"
  		resultType="java.lang.String">
  		SELECT CURRENT_TIMESTAMP()
  	</selectKey>
  	insert into kangaiduoyaodian ( depart1, depart2, product_name,
  	generic_name, img, product_specification, unit,
  	approval_certificate, manufacturer, marketPrice, vipPrice,
  	website, fetch_time, productdesc ) values
  	<foreach collection="list" item="item" index="index"
  		separator=",">
  		( #{item.depart1}, #{item.depart2}, #{item.productName},
  		#{item.genericName}, #{item.img},
  		#{item.productSpecification}, #{item.unit},
  		#{item.approvalCertificate}, #{item.manufacturer},
  		#{item.marketprice}, #{item.vipprice}, #{item.website},
  		#{fetchTime}, #{item.productdesc} )
  	</foreach>
  </insert>

在批处理中,我发现有几个需要注意的问题

1、主键的自动获取,在insert中添加useGeneratedKeys=”true” keyProperty=”id”这两个属性无效,并且或中断数据插入,如果id是数据库自增的话,可以什么都不写,在插入的语句中去除主键属性,还有就是利用

<selectKey keyProperty="id" order="BEFORE"
  		resultType="java.lang.Integer">
  		SELECT LAST_INSERT_ID()
  </selectKey>
注意 <selectKey > 标签在insert下只能存在一个;批处理的时候不适合使用<selectKey >,主键自增最好,或者指定

2,插入时间的获取如上面所示,我用的是mysql,只要是mysql函数都可以拿来使用,插入时间和主键都是mysql函数中的一个。。。



mybatis我也是在小试牛刀,如有不妥之处,请见谅。。。。



  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值