目录
一、分层
1.分层就是将完成不同功能的代码放在不同的层里面,也就是不同的文件夹里面。
2.分层是为了避免代码冗余过多,减少代码的重复性。
3.不使用分层会出现的问题:
(1)难扩展;
(2)功能全部放在一起了;
(3)完全没有面向对象的思想;
4.分层的目的
(1)提高代码的重用性
(2)提高代码的可扩展性
(3)代码的解耦
- 解耦就是将代码之间的关系变的很弱
5.分层的优点:
(1)各司其职;
(2)方便扩展与维护;
6.分哪些层:
(1)dao层:数据库操作,就是对每一张表的增删改查;
(2)service/biz层:业务逻辑层,专门写业务的;
(3)ui层:用户面对的接口;
(4)pojo/vo/entity/bean层:实体层,存放实体对象;
(5)util层:帮助类/工具类;
7.在处理业务时,判断是否成功:
(1)可以使用int判断:1/0
(2)可以使用boolean判断:true/false
(3)可以使用一个对象判断:null/!null
(4)可以使用集合判断:list.size()
(5)如果是在后台操作,那么推荐使用int类型,否者,推荐使用对象或者集合
8.一般情况下,我们在service层处理业务的时候会先写一个接口,然后在service层的impl包下去写一个实现这个接口的实现类,这么做的原因是因为多态。
9.在dao层与数据库交互的时候,也会先写一个接口,然后在dao层的impl包下去写一个实现这个接口的实现类。
二、JXL
1.JXL是用来操作表格的
2.创建表格:Workbook.createWorkbook(File对象)
(1)会返回一个WritableWorkbook对象
WritableWorkbook workbook = Workbook.createWorkbook(new File("test.xls"));
(2)注意:如果在创建表格时,是有这个表格的,那么就是直接使用这个表格而不是重新创建
3.创建Sheet页:WritableWorkbook对象名.createSheet(页名,位置);
(1)会返回一个WritableSheet对象
WritableSheet sheet = workbook.createSheet("Student", 0);
4.添加单元格内容:WritableSheet对象名.addXxx()
(1)文本类型--new Label():WritableSheet对象名.addCell(new Label(列,行,字符串));
sheet.addCell(new Label(0,0,"HelloWorld"));
(2)数字类型--new Number():WritableSheet对象名.addCell(new Number(列,行,数字));
sheet.addCell(new Number(0,1,12345d));
(3)超链接--new WritableHyperlink():WritableSheet对象名.addHyperlink(new WritableHyperlink(列,行,new URL(字符串)));
sheet.addHyperlink(new WritableHyperlink(0,2,new URL("http://www.baidu.com")));
(4)图片--new WritableImage():WritableSheet对象名.addImage(new WritableImage(列(单元格个数),行(单元格个数),宽度(单元格个数),高度(单元格个数),new File("图片位置")));
sheet.addImage(new WritableImage(5,8,8,8,new File("F:\\Users\\Devil\\Pictures\\Screenshots\\1.png")));
(5)注意:在执行完上面的语句后需要使用WritableWorkbook对象名.write()将文件写入表格中。
workbook.write();
(6)注意:将数据写入表格后,需要使用WritableWorkbook对象名.close()将对象关闭。
workbook.close();
5.读取表格内容
(1)获取excel文件:Workbook.getWorkbook(new File("表格位置"));
- 会返回一个Workbook对象
-
Workbook workbook = Workbook.getWorkbook(new File("F:\\Users\\Devil\\Desktop\\test.xls"));
(2)获取sheet页:Workbook对象名.getSheet(下标/名字);
- 会返回一个Sheet对象
-
Sheet sheet = workbook.getSheet(0);
(3)获取到指定单元格:Sheet对象名.getCell(列,行);
- 回返回一个Cell对象,这个获取的到只是一个单元格,而不是里面的内容
-
Cell cell = sheet.getCell(0, 0);
(4)获取到单元格里的内容:Cell对象名.getContents();
String contents = cell.getContents();
System.out.println(contents);
(5)使用完后将连接关闭
workbook.close();
6.读取表格是导入,向表格中写入内容是导出
(1)一般来说,excel的导入是有一定要求的
(2)比如:导入的数据必须在第一个sheet里面或者是必须是xx名字