GHGL项目功能代码
来源:互联网 发布:win10能上网 网络受限 编辑:程序博客网 时间:2024/06/07 20:55
1.sql中用 in 关键字大批量增删改数据时,需分段提交
controller代码:
if(qygh != null && qygh.size() > 0){int numxj = 0;int numb = qygh.size() / 1000; //求整,可以提交多少个1000条int syb = qygh.size() % 1000; //取余for(int i = 0; i < numb * 1000; i++){if(i%1000 == 0){numxj = distributionService.updateSd(qygh.subList(i, i+1000),fpdm); if(numxj != 1000){// 事务回滚TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();logger.error("失败");rst = "false||失败";rst = gson.toJson(rst); return rst; }}}numxj = distributionService.updateSd(qygh.subList(numb * 1000,qygh.size()),fpdm); if(numxj != syb){// 事务回滚TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();logger.error("失败");rst = "false||失败";rst = gson.toJson(rst);return rst; }}
mybatis代码:
<update id="updateSd" parameterType="map">update gh_qyghgx set sfsd = '1',sdfpdm = #{fpdm,jdbcType=VARCHAR}where qybm in<foreach collection="list" item="item" index="index" open="(" close=")" separator=",">#{item.qybm,jdbcType=VARCHAR}</foreach> </update>
2.使用poi 导出excel
import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import java.net.URLEncoder;import java.util.List;import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServletResponse;import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFCellStyle;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.ss.usermodel.HorizontalAlignment;import com.java.entity.dto.ZeroIn;public class CreateExcel {public static void createExcelZeroIn(List<ZeroIn> list,String sheetName,HttpServletResponse res) throws IOException{ // 1.创建一个workbook,对应一个Excel文件 HSSFWorkbook wb = new HSSFWorkbook(); // 2.在workbook中添加一个sheet,对应Excel中的一个sheet HSSFSheet sheet = wb.createSheet(sheetName); // 3.在sheet中添加表头第0行,老版本poi对excel行数列数有限制short HSSFRow row = sheet.createRow((int) 0); // 4.创建单元格,设置值表头,设置表头居中 HSSFCellStyle style = wb.createCellStyle(); style.setAlignment(HorizontalAlignment.CENTER); /** 设置表头*/ setTableZeroIn(row,style); writeExcelZeroIn(list,sheet,row); tkDownload(sheetName,wb,res);}public static void setTableZeroIn(HSSFRow row,HSSFCellStyle style){ HSSFCell cell = row.createCell(0); cell.setCellValue("日期"); cell.setCellStyle(style); cell = row.createCell(1); cell.setCellValue("操作"); cell.setCellStyle(style); cell = row.createCell(2); cell.setCellValue("备注"); cell.setCellStyle(style);}public static void writeExcelZeroIn(List<ZeroIn> lists,HSSFSheet sheet,HSSFRow row) throws IOException{// 循环将数据写入Excelfor(int i = 0; i < lists.size(); i++){ row = sheet.createRow((int) i + 1); ZeroIn list = lists.get(i); // 创建单元格,设置值 row.createCell(0).setCellValue(list.getRkrq()); row.createCell(1).setCellValue(list.getRkje()); row.createCell(2).setCellValue(list.getBz());}}public static void tkDownload(String sheetName,HSSFWorkbook wb,HttpServletResponse res) throws IOException{String fileName = sheetName;ByteArrayOutputStream os = new ByteArrayOutputStream();wb.write(os);byte[] content = os.toByteArray();InputStream is = new ByteArrayInputStream(content);// 设置response参数,可以打开下载页面res.reset();res.setContentType("application/vnd.ms-excel;charset=utf-8");res.addHeader("Content-Disposition","attachment;filename="+ URLEncoder.encode(fileName+".xls", "UTF-8"));// 设置文件名ServletOutputStream out = res.getOutputStream();BufferedInputStream bis = null;BufferedOutputStream bos = null; try { bis = new BufferedInputStream(is); bos = new BufferedOutputStream(out); byte[] buff = new byte[2048]; int bytesRead; // Simple read/write loop. while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) { bos.write(buff, 0, bytesRead); } } catch (Exception e) { e.printStackTrace(); } finally { if (bis != null) bis.close(); if (bos != null) bos.close(); }}}
3.ajax 跨域问题解决
在controller上加上:
(临时测试用)
response.addHeader("Access-Control-Allow-Origin","*"); response.addHeader("Access-Control-Allow-Methods","*"); response.addHeader("Access-Control-Max-Age","100"); response.addHeader("Access-Control-Allow-Headers", "Content-Type"); response.addHeader("Access-Control-Allow-Credentials","false");
阅读全文
1 0
- GHGL项目功能代码
- GHGL项目总结-mybatis
- GHGL项目总结-Myeclipse
- GHGL项目总结-Oracle
- GHGL项目总结-DB2
- GHGL项目总结-CA
- GHGL项目最后总结
- GHGL工具类代码
- GHGL项目总结-spring+mybatis多数据库源
- GHGL项目-其他问题锦集
- GHGL项目总结-TIPS系统和银行拨付
- GHGL项目-RSA加解密导致内存泄漏
- 项目功能代码
- 项目中一段js功能代码
- js代码实现填写简历时“添加项目经历”功能
- zend studio新建项目代码提示和追踪功能失效
- 项目中用到的下载文件功能代码
- Android项目新手功能引导页面代码实现
- 阿里云maven仓库
- 描述西游记中的人物
- 基于tensorflow实现word2vec
- C
- Oracle查询二
- GHGL项目功能代码
- STM32CubeMX之定时器控制微秒延时详解
- ccf认证学生排队
- Java使用JDBC连接数据库的实现方法
- XYNU 1248 排队打水问题(water)—贪心算法
- 数据库范式
- HDU 6050 Funny Function
- Java中的接口
- Android HttpURLConnection接口