开发准备
图表分析
-
前台 js ajax html5绘图
-
后台 验证码处理一样,画图,可附带office文档输出
-
使用准备:china.js,echarts-all-3.js
-
使用:
<script type="text/javascript" charset="utf-8" src="js/echarts-all-3.js"></script> <script type="text/javascript" charset="utf-8" src="js/china.js"></script> <div id="main" style="width: 600px;height:400px;"></div> <script type="text/javascript"> var myChart = echarts.init(document.getElementById('main')); var option // 根官方据案例设置 myChart.setOption(option); </script>
-
ajax数据使用
由服务端生成json(option格式,创建对象返回json)var myChart = echarts.init(document.getElementById('main')); $.post("chart.do",{},function(json){ var option =json; myChart.setOption(option); },"json"); @RequestMapping("chart") public @ResponseBody ChartInfo wsss() { ChartInfo c=new ChartInfo(); c.setTitle("ECharts 入门示例"); c.setLegends("销量","数量"); c.setxAxiss("衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"); Chart_series s1=new Chart_series("销量", "bar", 5, 20, 36, 10, 10, 20); Chart_series s2=new Chart_series("数量", "bar", 5, 10, 26, 14, 30, 20); c.setSeries(s1,s2); return c; }
打印预览
- 只打印 htmlElement.print()
- jqprint()
- 下载jQuery,jQuery.print 2个
- 指定打印
$('.info').print();
- 设置打印参数
$('.info').print(prop对象);
- 特殊class
".no-print‘’ 不想打印的元素的jQuery选择器
POI框架 word,excel
- 导入jar
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.0</version> </dependency> 新版本office支持 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.0</version> </dependency>
- 导入(cell类型处理,表格数据内容检验)
String fileName="d:/a.xlsx"; InputStream is = new FileInputStream(new File(fileName)); Workbook hssfWorkbook = null; if (fileName.endsWith("xlsx")){ hssfWorkbook = new XSSFWorkbook(is);//Excel 2007 }else if (fileName.endsWith("xls")){ hssfWorkbook = new HSSFWorkbook(is);//Excel 2003 } Sheet sheet= hssfWorkbook.getSheetAt(0); for (int rowNum = sheet.getFirstRowNum(); rowNum <= sheet.getLastRowNum(); rowNum++) { Row row= sheet.getRow(rowNum); Cell cell= row.getCell(0); System.out.println(cell.getStringCellValue()); //要先判断数据类型 }
- 导出(代码控制表格格式样式)
HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet=wb.createSheet("成绩表"); HSSFRow row=sheet.createRow(0); HSSFCell cell=row.createCell(0); //设置单元格内容 cell.setCellValue("学员考试成绩一览表"); //合并单元格CellRangeAddress构造参数依次表示起始行,截至行,起始列, 截至列 //sheet.addMergedRegion(new CellRangeAddress(0,0,0,3)); //输出Excel文件 OutputStream output=new FileOutputStream("d:/aa.slx"); // OutputStream output=response.getOutputStream(); // response.reset(); // response.setHeader("Content-disposition", "attachment; filename=details.xls"); // response.setContentType("application/msexcel"); wb.write(output); output.close();
数据表
- 表列标准
- 让其他人看懂表结构(表名,列名,类型)
- id列,注意关键字列名(尽量避免),sp_user 表名
- 列名必要时长一些 current_user_name,充分使用视图,动态生成sql或对象
- 外键列名 表名+id,尽可能不为空(可默认值)
- 列的种类
id主键列,内容列(基本信息),状态列(sex,status,level),外键列(bookid),组合列(bookids,pics,infos_json),统计列(count计数),扩张列(非现在业务预留,临时)
- 让其他人看懂表结构(表名,列名,类型)
- 表索引
id列 主键
常规查询列,加索引(like 索引无效)
外键不使用(外键约束) - 表类型
- 基础信息表 简单增删改查
- 辅助信息表(类别)
- 业务表-总表-明细表-关联表 复杂的增删改查(可能无界面)
- 人员表-角色-权限
- 统计临时表
- 日志表
类
- 三层+model+jsp
- 切面处理(日志,数据整理,管理框架,事务处理,annotation处理)
- 管理类
- 函数库(加密库,格式库,运算库)
- 业务管理(dbhelper,netmanager,线程管理类,集合字段处理,Excel管理,图表管理)
查询模式
- 单列查询
- 单列选择查询
记录之前状态,可以加默认全部,改为子文件,使用自定义标签 - 选择组合查询
<select> onchange
事件 切换面板- 直接将el值写入js变量
var s="$(opt)"
- 如果数据为数组,多次赋值不同,必须标签自定义属性 携带数据
<tr cur="$(opt)"> <tr>
- 多列组合查询
顺序:数据库,entity(model),dao(mapper),dao调试,jsp,控制器,service - 关联选择查询