hello,各位小伙伴又到了一周的工作总结啦;先说说这周我在项目中遇到一些问题和解决方案吧,如果有雷同的小伙伴的可以借鉴一下。到现在为止,这是我接触到的第二个项目,也是先实现一些关于增删改查的操作,这个项目的数据库一共有7张表,我用了大量的时间才搞清楚表与表之间的关联关系,并且用Navicat画了模型图,做了各个表之间关联的信息,就是让自己吃透数据库并且在脑子里有一个表的结构。这个数据库在刚开始设计的时候就有点问题,导致后面我和大佬们在写需求的时候遇到各种坑,多次讨论解决方案。这里如果遇到关于数据库的问题一定要及时询问大佬或者领导吧,因为关于数据库咱也不敢动。如果不是时间有点紧迫,估计大佬们真的会改数据库表的结构。这里也让我知道了对于数据库表设时的严谨性,虽然现在暂时还接触不到表的设计,但是看到项目中大多数实现接口都是跟数据库相关,也知道了它的重要性。之后就是做一些关于的统计的接口,在写SQL的时候我都会在Navicat中先自己写好,这样也有助于提升我写SQL的能力。写好之后,我再把自己的SQL拿去找大佬请教,请他们看看有没有能够优化的地方。写完接口之后,就是返回数据格式了。在这里一定要及时和前端沟通好你的接口URL以及他需要的数据格式,这里我也是虚心向前端学习,因为前端大佬也知道我是个新人,所以他帮助我整理了一下他需要的数据格式。如果有小伙伴的公司是前后端分离的,一定要多问问前端他需要的格式,然后按照他的格式处理之后return;还有就是,项目部署到服务器上的时候,我都会去和大佬沟通,让我来部署以此熟悉部署环境。上面就是对这周在项目中我自己遇到的问题以及自己认为需要重视的地方,反正就是多想,多问,多练。

一.接着上次Git的总结还剩下一些没有写完:

在idea中使用git,这里我自己使用的是gitee作为案例;

1.打开idea在settings中找到关于git的设置,并且找到你的Git的执行程序,点击test显示你的Git版本号代表成功;

2.找到下面gitee并设置你的gitee账户以及密码即可;

3.把idea项目分享到gitee上面:

选中要同步的项目,点击菜单【VCS】-【Import into Version Control】-【Share Project on Gitee】;

4.创建远程仓库,填写远程仓库信息 ;

5.代码提交与拉取;

6.必须先提交本地仓库,再提交远程仓库;

7.关于分支操作;

8.创建新的分支并且切换新分支上面

关于idea整合git基本上都在这里啦,还有就是关于git分支合并以及合并时的冲突解决问题,我还在学习当中,等我整理好笔记之后也会放在上面,有兴趣的小同伴可以记录一下。

二.接下来是使用java对Excel的读和写的操作,这也是在项目的中用到比较多的一项技术。它底层还是使用io流的方法对文件进行读和写;

这里有两个工具类,第一个是POI,它是Apache软件基金会下的;还有一个就是easyExcel,easyExcel是阿里巴巴开源的一个excel处理框架;

我在项目中看到大佬们使用的就是easyExcel,先来说说它的一些特点:

1.EasyExcel是阿里巴巴开源的一个excel处理框架,以使用简单、节省内存著称;

2.EasyExcel能大大减少占用内存的主要原因是在解析Excel时没有将文件数据一次性全部加载到内存中,而是从磁盘上一行行读取数据,逐个解析。

这里我们开始使用easyExcel对文件写的操作;

3.导入相关jar包依赖

<dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.2.11</version>
</dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>5.0.0</version>
</dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>5.0.0</version>
</dependency>

4.创建Excel表格对应的实体类(@ExcelProperties("XXX"))

@Data
public class ExcelDemo {@ExcelProperty("学生id")private Integer id;@ExcelProperty("学生姓名")private String name;@ExcelProperty("学生性别")private String sex;@ExcelProperty("学生地址")private String address;
}

5.创建一个demo类实现关于Excel文件类写的操作;

public class Demo1 {public static void main(String[] args) {//设置要到的路径和Excel的名称String filename = "Q:\\Exceltest\\qiaoqiao.xlsx";//调用easyExcel方法实现写的操作(这里包含filename和实体类的class)EasyExcel.write(filename,ExcelDemo.class).sheet("学生列表").doWrite(getData());}private static List<ExcelDemo> getData(){ArrayList<ExcelDemo> list = new ArrayList<>();for (int i = 0; i < 10; i++) {ExcelDemo  excelDemo = new ExcelDemo();excelDemo.setId(i);excelDemo.setName("张三"+i);excelDemo.setSex("男"+i);excelDemo.setAddress("四川成都" + i);list.add(excelDemo);}return list;}
}

6.完成了easyExcel简单的写操作,来说说读的操作,关于读的操作需要用到监听器;依然还是先创建实体类。

    @Data
public class StudentExcel {//这里的index指的是表格中的每一列@ExcelProperty(value = "学生id",index = 0)private Integer id;@ExcelProperty(value = "学生姓名",index = 1)private String name;@ExcelProperty(value = "学生年龄",index = 2)private Integer age;@ExcelProperty(value = "学生地址",index = 3)private String address;@ExcelProperty(value = "添加时间",index = 4)private String creatTime;
}

7.读取表格需要用到监听器------创建一个类继承监听器:

//读取Excel表格需要监听器
public class ExcelListener extends AnalysisEventListener<StudentExcel> {//一行一行的读取(不能读取表头)@Overridepublic void invoke(StudentExcel data, AnalysisContext context) {System.out.println("*****" + data);}//读取表头的方法@Overridepublic void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {System.out.println("**** 表头" + headMap);}//读取完成之后@Overridepublic void doAfterAllAnalysed(AnalysisContext context) {}
}    最后测试://实现Excel读操作的:
String fileName = "Z:\\springboot项目\\test.xlsx";
//2.调用Excel方法实现读的操作
EasyExcel.read(fileName,StudentExcel.class,new ExcelListener()).sheet().doRead();     

关于easyExcel简单的读写的笔记我就记录到这里啦。有需要的小伙伴可以做好笔记,谢谢小伙伴的观看,如果上面有不对的地方可以在评论区告诉我,我会及时修改的。

JAVA实习生工作总结(四)相关推荐

  1. Java实习生是做什么的?Java实习生工作内容

    部分公司项目紧张的话,可能会直接要求编写简单的功能模块; 通常入职之后都会有专门的技术人员进行指导,所以也没必要担心什么都不会,入职后主动进行学习相关技术即可.如果是实习期,主要的任务还是以学习为主, ...

  2. JAVA实习生工作总结(三)

    hello,各位小伙伴,又见面!又来分享我的所感所得啦,不知不觉我已经在公司实习了两个月了,说真的,压力特别大.首先就是自己的技术能力问题,每天都在不停的学当中,从如何学习通过git远程拉取项目到在项 ...

  3. Java实习生工作总结(二)

    hello,各位小伙伴,又见面啦!又到我一周的周总结了,上一次的总结呢有些含糊不清,只是大概讲述了我近两个月的一个的记忆录.后面呢我会详细阐述我在实际工作中的遇的问题和如何解决的,如果有小伙伴也和我一 ...

  4. java实习生年终总结_【JAVA实习生工作总结_JAVA实习生个人年终总结】-看准网

    java实训个人总,java实训个人总范文 实训已经进行两周多了,还有一周就要正式了,突然发现自己似乎又重蹈覆辙了,再一次一次的不经意中和某些人的就距离却是越来越来大,总是想偷一下懒,总是想着马马虎虎 ...

  5. Java实习生常规技术面试题每日十题Java基础(四)

    目录 1.String 和StringBuffer的区别. 2.数组有没有length()这个方法? String有没有length()这个方法? 3.final, finally, finalize ...

  6. 投入Java开发实习生工作的第4天

    说实话,通过这几天的实习生工作给自己的感触和收获是非常的深刻的.先说说公司吧,本人在成都,在应聘了许多实习岗位之后,最终选择了一家实习补贴只有2400块,但是公司技术架构,业务范畴,工作环境都比较好的 ...

  7. 【Java实习生面试题系列】-- 多线程篇四

    文章目录 1. 说下对同步器 AQS 的理解? 2. AQS 的原理是什么? 3. AQS 底层使用了模板方法模式,你能说出几个需要重写的方法吗? 4. 说下对 Semaphore.CountDown ...

  8. Java实习生找工作需要注意的几点

    大部分人选择Java开发的原因是因为需求量大,工资非常高.在北京这样的城市,只要自己肯努力肯付出,可以达到年薪50W.而就算一个中级开发者,也可以达到年薪30W的级别,不断提升技术. 但是Java软件 ...

  9. Java实习生常规技术面试题每日十题Java基础(六)

    目录 1.在Java语言,怎么理解goto. 2.请描述一下Java 5有哪些新特性? 3.Java 6新特性有哪些. 4.Java 7 新特性有哪些. 5.Java 8 新特性有哪些. 6.描述Ja ...

最新文章

  1. 关于.h .lib .dll的总结
  2. 【Linux】43.ubuntu18.04安装搜狗输入法不能正常使用
  3. 【转】手工导入传输请求(Transport Request)
  4. leetcode 刷题142 143
  5. coolite TreePanel CheckBox联动
  6. 如何通过图片识别用的什么字体?
  7. 牛客网matlab怎么输入数据,从牛客上找的面经
  8. python编写dll_python调用c/c++写的dll
  9. java 类库_Java基础类库
  10. linux rto 参数设置,linux 如何计算RTO值
  11. 双边滤波及其matlab代码
  12. 【职场日语】日文简历模板
  13. imx6ull uboot移植
  14. 程序员懒人投资大法之定投指数基金
  15. 四色定理c语言,阅读下列程序说明和C代码,将应填入(n)处。【程序5说明】著名的四色定理指出..._考试资料网...
  16. 机器学习算法原理与编程实践-郑捷著 读书笔记—第一章part1
  17. python实现排序算法lowb三人组之选择排序
  18. 贝叶斯统计之三种信息
  19. VueI18n国际化vm._watchers[0].constructor未定义的解决办法:修改源代码吧
  20. Win10系统台式机如何调节系统亮度

热门文章

  1. Handler详解(上)
  2. Zabbix之agent部署监控Linux与Windows
  3. Linux常用命令--文件搜索命令:压缩解压命令
  4. 学游戏开发,从客户端还是服务端开始?
  5. 超声波牙刷VS电动牙刷
  6. 路由器默认地址跟帐号密码
  7. (三)Lua脚本语言入门
  8. 邮政集团的OA系统无法显示文档
  9. 服务器临时维护什么意思,6月16日服务器临时维护及开服公告
  10. VR体验馆推荐重庆也可以体验虚拟现实游戏