mysql 批量插入和批量更新的
来源:互联网 发布:淘宝魔盒有什么用 编辑:程序博客网 时间:2024/04/29 12:31
利用mysql的insert into 表名 values (.....),(.....),(.....),(.....) 特性一次性大批量的插入数据,提高效率
备注:我用的是ibatis
业务层:
private void batchInsertAct(List<ProgramDetail> acts) throws DataBaseException { Map<Integer, List<ProgramDetail>> map = this.groupListBySize(acts, GROUP_SIZE); if ((map != null) && !map.isEmpty()) { for (Integer key : map.keySet()) { Map<String, Object> paramaters = new HashMap<String, Object>(); paramaters.put("acts", map.get(key)); this.programDetailDao.batchInsertAct(paramaters); } } }
数据库层:
<insert id="batchInsertAct" parameterClass="map"> <![CDATA[ INSERT INTO T_PROGRAMDETAIL(PROGRAMDETAILID,PROGRAMLISTID,PROGRAMTIME,PROGRAMNAME,VISIBLE,COLLATESTATE,VIDEOSTARTTIME,VIDEOENDTIME) VALUES ]]> <iterate property="acts" conjunction=","> <![CDATA[ (null,#acts[].programListId#, #acts[].programTime#, #acts[].programName#, 0, #acts[].collateState#, #acts[].videoStartTime#, #acts[].videoEndTime#) ]]> </iterate> </insert>
利用mysql的replace into 表名 values (.....),(.....),(.....),(.....) 特性一次性大批量的修改数据,提高效率
业务层:
private void batchUpdateAct(List<ProgramDetail> acts) throws DataBaseException { Map<Integer, List<ProgramDetail>> map = this.groupListBySize(acts, GROUP_SIZE); if ((map != null) && !map.isEmpty()) { for (Integer key : map.keySet()) { Map<String, Object> paramaters = new HashMap<String, Object>(); paramaters.put("acts", map.get(key)); this.programDetailDao.batchUpdateAct(paramaters); } } }
数据库层:
<insert id="batchUpdateAct" parameterClass="map"> <![CDATA[ REPLACE INTO T_PROGRAMDETAIL(PROGRAMDETAILID,PROGRAMLISTID,PROGRAMTIME,PROGRAMNAME,VISIBLE,COLLATESTATE,VIDEOSTARTTIME,VIDEOENDTIME) VALUES ]]> <iterate property="acts" conjunction=","> <![CDATA[ (#acts[].programDetailId#,#acts[].programListId#, #acts[].programTime#, #acts[].programName#, 0, #acts[].collateState#, #acts[].videoStartTime#, #acts[].videoEndTime#) ]]> </iterate> </insert>
0 0
- mysql 批量插入和批量更新的
- 提高mysql 批量插入和更新性能
- mysql批量插入,更新的sql语句
- mysql批量插入,更新优化
- mysql,oracle批量插入,更新
- Mysql批量更新/插入数据
- 常用的批量插入\更新和递归
- SQL-批量插入和批量更新
- jdbcTemplate高效批量插入和批量更新
- MyBatis中批量插入和批量更新
- SQL-批量插入和批量更新
- SQL-批量插入和批量更新
- mysql的批量插入
- ibatis 的批量插入 批量更新数据
- 批量插入、更新和删除
- 批量插入、更新和删除
- Mybatis批量更新和插入
- mybatis批量更新和插入
- 推荐使用links方法安装插件
- 彩色图像、灰度图像、二值图像
- android应用开发详解(一)--------原始xml文件的使用
- Liferay连接第二个database
- How do I clear my web browser's cache, cookies, and history?
- mysql 批量插入和批量更新的
- GdiPlus/Gdi+ 的Color()和Gdi 的RGB()宏的区别
- Android触控 MotionEvent(一)
- Android Libraries
- 模拟打僵尸(OC-继承题)
- 腾讯新闻电脑客户端 v4.3.2 官方pc版
- 计算机图形学方向投稿国外期刊
- 获取SQL表的字段信息
- “烫”字来历