思路
- 将对象封装成list传入;
- 接收list对象,传入XxbeanMapper.java的insert方法;
- 在mapper.xml中foreach遍历拼接sql;
XxbeanMapper.xml
<insert id="insertBatch">
insert into db_ag.t_xsfb
(c_bh,c_wtxs_bh,c_clfs,c_cbbm,c_jsdw,c_pzjjz,c_xjdw,c_xjbm,c_qtdw,c_sfdb,c_dblx,c_sfbc,d_fbrq,c_fbr,c_zt,
c_fljy,c_czr,dt_cjsj,dt_zhgxsj)
values
<foreach collection ="list" item="item" index= "index" separator =",">
(#{item.cBh}::VARCHAR,#{item.cWtxsBh}::VARCHAR,#{item.cClfs}::VARCHAR, #{item.cCbbm}::VARCHAR,#{item.cJsdw}::VARCHAR,
#{item.cPzjjz}::VARCHAR,#{item.cXjdw}::VARCHAR,#{item.cXjbm}::VARCHAR, #{item.cQtdw}::VARCHAR,#{item.cSfdb}::VARCHAR,
#{item.cDblx}::VARCHAR, #{item.cSfbc}::VARCHAR,#{item.dFbrq}::DATE,#{item.cFbr}::VARCHAR,#{item.cZt}::VARCHAR,
#{item.cFljy}::VARCHAR,#{item.cCzr}::VARCHAR,#{item.dtCjsj}::TIMESTAMP,#{item.dtZhgxsj}::TIMESTAMP
)
</foreach>
</insert>
foreach中的item属性即代表list中的对象,属性值可随便取。
具体的取对象中那个字段,只需通过“属性值.参数名”的方式即可获取,例如:item.cBh。

本文介绍了Mybatis实现批量入库的思路,包括将对象封装为list,通过XxbeanMapper.java的insert方法处理,以及在mapper.xml中使用foreach遍历拼接SQL,详细解释了如何引用list中对象的字段。
最低0.47元/天 解锁文章
1191

被折叠的 条评论
为什么被折叠?



