记一次简单JAVA应用开发(菜鸟版)
Java(计算机编程语言):它只是计算机编程语言的一种,只是被大力发展和推崇,后台开发也常用它。当然内涵盖知识点无数,学无止境,如需精通必先自宫(开玩笑O(∩_∩)O),得勤学苦练是真,熟能生巧后方能拿得出手。,我系统学过,但离全栈开发工作者只差一步,就是付出。大概,没敢下决心往这条路上走吧。随有心,却无力。学了一点皮毛,偶尔只能简单写点代码,编个工具啥的仅此而已。
1.前言
时隔几个月,又准备开始写点自己的内容,以沉淀一些属于自己的东西。近期一周,又捡了捡自己领域原来所学的知识(Java开发),编个小工具其实都难倒了一直在独自战斗的业余选手。无技术指点,单凭百度来解决一些未曾遇到的难题,下面开始正题:
现实:每月都会有十天左右需要去数据库按固定SQL按当天日期查询一些数据(称之响应率和填报率查询),然后将每条SQL的查询结果复制到EXCEL的基础数据表中进行相应固定公式的计算,最终会呈现一张数据分析结果表,用时大约15-20分钟。
需求:通过程序化实现功能,根据外部配置文件可进行调整SQL语句,对数据查询结果进行封装,输出EXCEL。
a)设计界面—简单(日期可选,再加三个按钮)
b)罗列功能—交互、响应、反馈(等待/错误提示)
c)编写代码—写了再说,重构啥的不会
d)测试BUG和数据—输出值是否正确
e)技术问题优化—遇到一个攻克一个
2.开发环境
开发环境:JDK1.7.0_25
开发工具:Eclipse
数据库:MySql
有各服务器的远程地址,有数据库的账号密码,有查询数据所用SQL语句…
本地已安装Java环境,开发软件
使用工具类:JDBCUtil(数据源连接)、DateChooser(日期选择控件)、jxl(Excel操作)
3.问题(已解决)
3.1跨服务器查询
Question:分别需要查询在两台阿里云服务器上的测试库和正式库的数据,服务器A(测试库)和B(正式库),A可以本地直接访问,B需要远程到服务器后进行数据访问,但好在A和B都可外网。
Answer:在本地开发用A测试库测试,打包成jar丢到B正式库验证正式数据。
3.2跨库查询
Question:位于不同库中涉及多张关联表查询,用JDBCUtil工具类实现。
Answer:在对url赋值时,去掉库名即可,关联表查询的SQL仍然适用。
db.pro(外部配置文件,存放SQL)
1 | url = jdbc:mysql://xxxxxxxxxxxx:端口号/库名?useSSL=false |
3.3Excel数据格式
Question:写入Excel的数据非数值,打开文件后需要重新转换格式,而且部分数据默认成为科学计数法,要解决查询的值在写入Excel最终都是数值。
Answer:jxl类有方法可以设置写入时的格式
1 | Double b1 = 1313496257.810000; |
4.问题(未解决)
4.1显示加载中
Question:查询数据需要等待时间较长,查询按钮点击后一直卡着没响应,直到查询结束才可以接着操作,中间加个Loading图标或进度条。
1 | 异步多线程,点击查询按钮时,弹出Loading图标且查询数据,查询完毕后显示加载完成 |
Question:当前日期是每月第一天时,查询数据会有异常,需要IF判断重新计算传递的日期。
1 | 在逻辑运算里面加判断 |
5.知识点
- JDK:java development kit (java开发工具)
- JRE:java runtime environment (java运行环境)
- JVM:java virtuak machine (java虚拟机)
它们之间是包含关系,JDK包含了JRE,JRE包含了JVM,核心是JVM。要想有深入的了解,还需要继续钻研学习,有兴趣可以看下《深入理解Java虚拟机》这本书,参考链接:https://blog.csdn.net/qq_41701956/article/details/81664921
https://www.cnblogs.com/zuoxiaolong/p/life53.html
5.拓展
附:Java知识体系图
如果对你帮助有帮助,那留个言吧