- 博客(1)
- 资源 (9)
- 收藏
- 关注
原创 乐观锁与悲观锁
悲观锁和乐观锁是数据库用来保证数据并发安全防止更新丢失的两种方法,是一种思想:乐观锁乐观锁是一种思想,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据 ,一种实现是,表中有一个版本字段,第一次读的时候,获取到这个字段。处理完业务逻辑开始更新的时候,需要再次查看该字段的值是否和第一次的一样。如果一样更新,反之拒绝。之所以叫乐观,因为这个模...
2018-04-26 17:46:00 206
从Docker到Kubernetes之技术实战
从Docker到Kubernetes之技术实战,从Docker到Kubernetes案例,详细笔记。可以让初学者充分认识从Docker到Kubernetes魅力
2018-01-09
poi导出excel所用jar包,可添加至maven仓库,也可以自己配置,适合各种浏览器
通常业务需求都是客户端一个导出按钮,发送请求到服务端,服务端写一个接口导出报表到客户端,客户可以自行下载。无论Struts或者springMVC均可。
@RequestMapping("Export")
@ResponseBody
public String getAll(HttpServletRequest request,HttpServletResponse response) throws IOException{
//集合为需要导出数据,数据查询得到,这里测试就不写了。
List<User> list=new ArrayList<User>();
// 生成Excel文件
HSSFWorkbook hssfWorkbook = new HSSFWorkbook();
HSSFSheet sheet = hssfWorkbook.createSheet("测试数据");
// 表头
HSSFRow headRow = sheet.createRow(0);
headRow.createCell(0).setCellValue("姓名");
headRow.createCell(1).setCellValue("手机号码");
headRow.createCell(2).setCellValue("年龄");
// 表格数据
for (User user : list) {
HSSFRow dataRow = sheet.createRow(sheet.getLastRowNum() + 1);
dataRow.createCell(0).setCellValue(user.getName());
dataRow.createCell(1).setCellValue(user.getPhone());
dataRow.createCell(2).setCellValue(user.getAge());
}
// 下载导出(一个流两个头)
// 设置头信息
response.setContentType(
"application/vnd.ms-excel");
// MIME .jpg .xls .mp3 .avi .txt .exe
String filename = "驾驶员数据.xls";
//如果为Struts框架,获得request和response可用ServletActionContext
String agent = request
.getHeader("user-agent");
filename = FileUtils.encodeDownloadFilename(filename, agent);
response.setHeader("Content-Disposition",
"attachment;filename=" + filename);
ServletOutputStream outputStream = response
.getOutputStream();
//输出
hssfWorkbook.write(outputStream);
// 关闭
hssfWorkbook.close();
//System.out.println("导出成功");
return "success";
}
2018-01-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人