当前位置: 首页 > news >正文

帝国cms灵动标签做网站地图快照网站

帝国cms灵动标签做网站地图,快照网站,留学网站建设,wordpress建淘宝客数据量大的时候如果在循环中执行单条新增操作,是非常慢的。那么如何在mybatis中实现批量新增数据呢? 方法 insert 标签的 foreach 属性可以用于批量插入数据。您可以使用 foreach 属性遍历一个集合,并为集合中的每个元素生成一条插入语句。…

数据量大的时候如果在循环中执行单条新增操作,是非常慢的。那么如何在mybatis中实现批量新增数据呢?

方法

insert 标签的 foreach 属性可以用于批量插入数据。您可以使用 foreach 属性遍历一个集合,并为集合中的每个元素生成一条插入语句。

<insert id="insertBatch" parameterType="list">insert into table_name (column1, column2)values<foreach collection="list" item="item" separator=",">(#{item.column1}, #{item.column2})</foreach>
</insert>

实战

表结构

我有一张表结构如下,为了好理解我把结构做了适当的精简:

create table exa_paper_question
(paper_id       bigint          not null comment '试卷编号',question_id    bigint          not null comment '试题编号'
)comment '试卷和试题关联表';

实体

public class ExaPaperQuestion
{private static final long serialVersionUID = 1L;/** 试卷编号 */private Long paperId;/** 试题编号 */private Long questionId;// getter setter 略}

maper.java

 /*** 批量新增试卷与试题的关系** @param list 试卷和试题关联集合*/public int batchAddQuestionToPage(List<ExaPaperQuestion> list);

mapper.xml

  <!--批量新增试卷与试题的关系 --><insert id="batchAddQuestionToPage" parameterType="list">insert into exa_paper_question (paper_id, question_id)values<foreach collection="list" item="item" separator=",">(#{item.paperId}, #{item.questionId})</foreach></insert>

业务调用处示例

 List<ExaPaperQuestion> list = new ArrayList<>();
for(Long id:questionIds){ExaPaperQuestion pq = new ExaPaperQuestion();pq.setPaperId(request.getPaperId());pq.setQuestionId(id);list.add(pq);}exaPaperQuestionMapper.batchAddQuestionToPage(list);

批量删除

上面是演示的批量新增,那就也能用到批量删除。

如果是有主键的表,批量删除格式如下:

  <delete id="deleteExaQuestionByQuestionIds" parameterType="String">delete from exa_question where question_id in<foreach item="questionId" collection="array" open="(" separator="," close=")">#{questionId}</foreach></delete>

如果是我示例中的这张表,是需要两个条件确实一条记录的,那么就这样写:

   <!--批量删除试卷与试题的关系 --><insert id="batchDeleteExaPaperQuestionByPaperId" parameterType="list">delete from exa_paper_questionwhere (paper_id, question_id) in (<foreach collection="list" item="item" separator=",">(#{item.paperId}, #{item.questionId})</foreach>)</insert>

其他的代码参考批量新增,几乎一致不在占用版面。

总结

稍作修改性能提升几十倍,非常的爽

http://www.dt0577.cn/news/17348.html

相关文章:

  • 真人做的免费视频网站排名优化seo
  • 网页设计一般怎么收费武汉seo优化公司
  • 以百度云做网站空间谷歌google地图
  • 海陵区建设局网站搜索引擎优化的要点
  • 网站优化如何收费google排名
  • 抚州市做棋牌网站济宁seo推广
  • 好网站页面网络整合营销理论
  • 辽宁省建设工程信息网业绩备案贵州seo技术培训
  • 沈阳建设公司网站数据分析师一般一个月多少钱
  • 制作网站riverseo文章生成器
  • yes风淘宝网站百度推广联系人
  • 网站如何做淘宝联盟推广怎样建立自己的网站平台
  • 阿里巴巴批发网站上面怎么做微商系统优化软件推荐
  • 做羞羞事的网站有哪些上海优质网站seo有哪些
  • 电子政务政府网站建设方案国内营销推广渠道
  • 柳州网络网站建设软文推广媒体
  • 做网站盈利万网域名管理入口
  • 做金属探测门批发网站网站维护需要多长时间
  • 用muse做网站windows优化大师可以卸载吗
  • 新能源汽车十大名牌百度seo排名原理
  • 网站制作都包括什么seo手机端优化
  • 苏州实力做网站公司有哪些seo的外链平台有哪些
  • 亚洲做性自拍视频网站怎么创建自己的免费网址
  • 网站开发html如何进行seo
  • org做后缀的网站大连网站建设
  • 网站如何做的有气质昆明seo建站
  • 怎么用dw做地图网站百度网盘app官网下载
  • 网站建设公司哪家强短视频seo推广
  • 浙江省建设厅门户网站网站制作
  • 广州公司注册资本减资流程及步骤免费广州seo