mybatis不支持insert into set.批量添加吗

mybatis不支持insert into set.批量添加吗,第1张

mybatis不支持insert into ...select的批量插入语句,建议改写成insert into... values..语句,然后再程序中使用循环实现批量插入,希望能帮到你……

1、批量插入 *** 作

     mapper.java层定义:

     int batchInsert(List stockList)

mapper.xml层的sql语句:

insert into t_stock (status, asset_classify_id,asset_id,asset_item_id, name,num, batch_num, tag_id,rfid, epc, barcode,qr_code, erp, unit,pic_url, specification, model,material, color,length,width, height, weight,density, volume, price01,price02,warehouse_id, storage_zone_id,storage_location_id,storage_location_tag_id,remark, attr01, attr02,attr03, create_date,last_update,creater, client_id)values (#{item.status,jdbcType=VARCHAR},#{item.assetClassifyId,jdbcType=BIGINT},#{item.assetId,jdbcType=BIGINT}, #{item.assetItemId,jdbcType=BIGINT},#{item.name,jdbcType=VARCHAR},#{item.num,jdbcType=VARCHAR},#{item.batchNum,jdbcType=VARCHAR}, #{item.tagId,jdbcType=VARCHAR},#{item.rfid,jdbcType=VARCHAR}, #{item.epc,jdbcType=VARCHAR},#{item.barcode,jdbcType=VARCHAR},#{item.qrCode,jdbcType=VARCHAR},#{item.erp,jdbcType=VARCHAR}, #{item.unit,jdbcType=VARCHAR},#{item.picUrl,jdbcType=VARCHAR},#{item.specification,jdbcType=VARCHAR},#{item.model,jdbcType=VARCHAR},#{item.material,jdbcType=VARCHAR},#{item.color,jdbcType=VARCHAR}, #{item.length,jdbcType=DECIMAL},#{item.width,jdbcType=DECIMAL}, #{item.height,jdbcType=DECIMAL},#{item.weight,jdbcType=DECIMAL},#{item.density,jdbcType=DECIMAL},#{item.volume,jdbcType=DECIMAL}, #{item.price01,jdbcType=DECIMAL},#{item.price02,jdbcType=DECIMAL},#{item.warehouseId,jdbcType=BIGINT},#{item.storageZoneId,jdbcType=BIGINT},#{item.storageLocationId,jdbcType=BIGINT},#{item.storageLocationTagId,jdbcType=BIGINT},#{item.remark,jdbcType=VARCHAR}, #{item.attr01,jdbcType=VARCHAR},#{item.attr02,jdbcType=VARCHAR},#{item.attr03,jdbcType=VARCHAR},#{item.createDate,jdbcType=TIMESTAMP},#{item.lastUpdate,jdbcType=TIMESTAMP},#{item.creater,jdbcType=BIGINT}, #{item.clientId,jdbcType=BIGINT})

java连接数据库时,往数据库一次添加多条数据,可以在DAO层,使用executeBatch()批量插入数据,如下代码:

conn = DBToolkit.getConnection()

Statement stmt = conn.createStatement()

//连续添加多条SQL

stmt.addBatch("insert into testdb.book (kind, name) values ('java', 'java in aciton')")

stmt.addBatch("insert into testdb.book (kind, name) values ('c', 'c in aciton')")

//执行批量执行

stmt.executeBatch()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11900477.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存