JDBC批量更新。
来源:互联网 发布:php初学者基础知识 编辑:程序博客网 时间:2024/06/11 21:37
数据量大时处理。
// 生成自测成绩 lizhuang 2012年8月6日@SuppressWarnings("unchecked")public String makeTestScore() {dbpool pool = new dbpool();Connection conn = pool.getConn();Statement ps = null;try {ps = conn.createStatement();for (int j = 0; j < stuList.size(); j++) {String sql = "UPDATE pe_bzz_examscore t SET t.test_score=IFNULL((select round(s.AVG_test_score,1) from stat_study_summary s" + " where s.student_id=0;";ps.addBatch(sql);if (StringUtils.isNotBlank(stuList.get(j).getTotal_score())) {Double total_score = (Double.parseDouble(exam_score) * exam_scale + Double.parseDouble(test_score) * test_scale) / 100;String totalScore = df.format(total_score);sql = "update pe_bzz_examscore t set t.total_score=" + totalScore + " where t.id='" + stuList.get(j).getId() + "';";ps.addBatch(sql);}// 如果考核等级不为空,同步更新if (StringUtils.isNotBlank(stuList.get(j).getTotal_grade())) {String grade = null;Double total_score = Double.parseDouble(stuList.get(j).getTotal_score());if (total_score < 60) {grade = "不及格";} else if (total_score >= 60 && total_score < 75) {grade = "合格";} else if (total_score >= 75 && total_score < 90) {grade = "良好";} else if (total_score >= 90) {grade = "优秀";}sql = "update pe_bzz_examscore t set t.total_grade='" + grade + "'where t.id='" + stuList.get(j).getId() + "';";ps.addBatch(sql);}if (j == stuList.size() - 1) {// 如果到达末尾,全部提交ps.executeBatch();break;}if (j % 200 == 0 && j != 0) {// 每200条批量提交一次ps.executeBatch();}}ps.close();conn.close();} catch (Exception e1) {e1.printStackTrace();request().setAttribute("msg", "生成失败。");return "extmsg";}request().setAttribute("msg", "全部生成成功!");// request().setAttribute("url",// "/entity/exam/peBzzExamScore.action?tag=search");return "extmsg";}
就是一个addBatch和executeBatch何时提交的问题。记录一下。
addBatch
- Spring jdbc 批量更新
- JDBC批量更新。
- jdbc批量更新
- jdbc批量更新数据
- jdbc批量插入、批量删除、批量更新
- JDBC批量插入、批量删除、批量更新
- JDBC批量插入、批量删除、批量更新
- jdbc批量插入、批量删除、批量更新
- jdbc批量插入、批量删除、批量更新
- jdbc批量插入、批量删除、批量更新
- JDBC批量插入、批量删除、批量更新
- hibernate批量更新与jdbc批量更新
- JDBC批量插入与更新
- spring jdbc 批量插入或者批量更新
- JDBC:预编译语句和批量更新-
- JDBC 批量更新数据到数据库
- JDBC批量更新PreparedStatement和Statement
- 使用jdbc批量更新删除于Hibernate 3.0批量更新删除对比
- 更新Android SDK 出错 Failed to rename directory \temp\ToolPackage.old01
- [Silverlight]Element is already the child of another element与Cannot resolve TargetProperty解决方案
- oracle 视图关联多张表
- 2011年十大网络黑客技术
- mysql 各个字段的 详细解说
- JDBC批量更新。
- eclipse/myeclipse注释模板的修改
- android menu 控件
- 二进制和字符串之间的转换(包含一些小知识点运用)
- Android UI图片制作相关
- 产品经理工作介绍
- 韩顺平_php从入门到精通_视频教程_第9讲_多标签汇总②_线包字效果_测试题_学习笔记_源代码图解_PPT文档整理
- windows 8 开始菜单找回与Metro菜单修改方法
- Drupal7 当中如何将book导出为pdf/word